# Unique Boolean Condition Constraint

**URL:** <https://www.ruby-forum.com/t/unique-boolean-condition-constraint/91139>\
**Category:** Rails\
**Created:** [April 5, 2007, 2:15am UTC](https://www.ruby-forum.com/t/unique-boolean-condition-constraint/91139 "2007-04-05T02:15:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![preston](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a587f6/32.png) [@preston](https://www.ruby-forum.com/u/preston)\
**Post date:** [April 5, 2007, 2:15am UTC](https://www.ruby-forum.com/t/unique-boolean-condition-constraint/91139/1 "2007-04-05T02:15:29Z")

</div>

I’d like to add a unique constraint (via add\_index or something  
similar) in a migration which works off two columns, one of which is  
boolean and must be true for the constraint to hold. Something like…

```
     add_index :my_table, [:some_integer_column,

```

{:some\_boolean\_column =\> true}], :unique =\> true

…but of course this doesn’t work. Is there a “correct” way of doing  
this without writing the raw SQL?

Preston
