Case-insensitive unique index in Rails/ActiveRecord?

前端 未结 8 1616
天命终不由人
天命终不由人 2020-12-09 03:38

I need to create a case-insensitive index on a column in rails. I did this via SQL:

execute(
   \"CREATE UNIQUE INDEX index_users_on_lower_email_index 
    O         


        
8条回答
  •  执念已碎
    2020-12-09 04:07

    If you are using PostgreSQL you can change your column type to citext - case-insensitive string. It also makes search independent from the register.

    def change
      enable_extension :citext
      change_column :users, :email, :citext
      add_index :users, :email, unique: true
    end
    

提交回复
热议问题