How to Create a New Table With a Unique Index in an Active Record / Rails 4 Migration

前端 未结 5 1905
生来不讨喜
生来不讨喜 2021-02-01 12:41

How do I create a new table, through a rails migration, and add an unique index to it?

In the docs I found how to add a index to a table after it\'s been created, but h

5条回答
  •  栀梦
    栀梦 (楼主)
    2021-02-01 13:21

    Here's the full process:

    Generate a migration ( rails generate migration CreateFoos bar:string or rails g migration CreateFoos bar:string )

    Modify your migration to look something like this:

    class CreateFoos < ActiveRecord::Migration
      def change
        create_table :foos do |t|
          t.string :bar, :null => false
    
          t.index :bar, unique: true
        end
      end
    end
    

    Run rake db:migrate

提交回复
热议问题