Syl*_*lar 23 ruby ruby-on-rails ruby-on-rails-4
我知道如何将一列添加到现有表中.现在我必须在现有表中添加许多列.是否有更短的方式:
add_col1_col2_col3_col4_.._coln_to_tables col1:integer col2:integer etc...
Run Code Online (Sandbox Code Playgroud)
对于我必须添加的所有其他列,我是否必须执行上述操作?
Shw*_*eta 43
没有必要.你可以做
假设TableName是用户
rails g migration AddColumnsToUser col1:integer col2:integer .. etc.
Run Code Online (Sandbox Code Playgroud)
Pro*_*oto 17
这是ActiveRecord上的一个很好的资源:迁移,它列出了可用于操作数据库的所有命令.你也可以这样做:
rails g migration AddMoreColumnsToModel
然后打开迁移文件并放入:
def change
add_column :table, :new_column, :type
# add as many columns as you need
end
Run Code Online (Sandbox Code Playgroud)
如果你想做Maxd建议的事情,拥有相同类型的100列自动创建,他的代码是个好主意.
只需创建迁移并生成这些列即:
class ChangeTables < ActiveRecord::Migration
def change
change_table :tables do |t|
100.times do |i|
t.integer :"column_#{i}"
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
21973 次 |
最近记录: |