Ruby on Rails: How do I add a not null constraint to an existing column using a migration?

前端 未结 4 2000
南方客
南方客 2021-01-31 07:04

In my Rails (3.2) app, I have a bunch of tables in my database but I forgot to add a few not null constraints. I\'ve googled around but I can\'t find how to write a migration wh

4条回答
  •  攒了一身酷
    2021-01-31 07:29

    If you are using it on a new create migration script/schema here is how we can define it

    class CreateUsers < ActiveRecord::Migration[5.2]
      def change
        create_table :users do |t|
        t.string :name, null: false     # Notice here, NOT NULL definition
        t.string :email, null: false
        t.string :password, null: false
        t.integer :created_by
        t.integer :updated_by 
    
        t.datetime :created_at
        t.datetime :updated_at, default: -> { 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP' }
       end
      end
    end
    

提交回复
热议问题