簡體   English   中英

如何通過'rails g migration'命令向要添加的列添加默認值

[英]How to add default value to a column being added through 'rails g migration' command

我知道如何在已創建的遷移文件中添加默認值。

`rails generate migration AddTestColumnToTesttable test_status:boolean` to create it.

它將生成此遷移:

class AddTestColumnToTable < ActiveRecord::Migration
  def change
    add_column :table, :test_status, :boolean, :default => true
  end
end

但是,我們可以通過rails g migration命令本身添加默認值嗎?

,它不能從命令行完成,您需要在遷移文件中更改它

add_column :table, :test_status, :boolean, :default => true

希望有所幫助!

** Rails 4.X + **

現在,由於沒有選項可以將新列添加到具有通過rails遷移中的終端定義的默認值的表, 因此要使用以下步驟將新列添加到具有默認值true或false的現有表。

1.從命令行運行遷移以添加新列

$ rails generate migration add_columnname_to_tablename columnname:boolean

上面的命令將在表中添加一個新列。

2.通過編輯創建的新遷移文件,將新列值設置為TRUE / FALSE。

class AddColumnnameToTablename < ActiveRecord::Migration
  def change
    add_column :tablename, :columnname, :boolean, default: false
  end
end

** 3。 要對應用程序數據庫表進行更改,請在終端**中運行以下命令

$ rake db:migrate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM