让我们假设我要创建10个表,它们共有4列。是否有一种简单的方法来生成迁移,而无需在10个表的每个迁移文件中指定所有4列?
答案 0 :(得分:3)
创建自己的迁移助手非常容易。我将创建一个简单的列,其中添加了created_by
和updated_by
列以及名为userstamps
的迁移帮助程序。
创建新的初始化文件config/initializers/userstamps.rb
:
module UserstampMigrationHelper
def userstamps
column :created_by, :integer
column :updated_by, :integer
end
end
ActiveRecord::ConnectionAdapters::TableDefinition.include(UserstampMigrationHelper)
现在您可以在迁移中使用它了:
class WidgetsMigration < ActiveRecord::Migration
def change
create_table :widgets do |t|
t.string :name
t.userstamps
end
end
end