假设我要创建 10 个表,它们有 4 个共同的列。有没有一种简单的方法来生成迁移,而无需在 10 个表的迁移文件中的每一个中指定所有 4 列?
最佳答案
创建自己的迁移助手非常容易。我将创建一个简单的添加 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
关于ruby-on-rails - 如何让所有表都包含 Rails 4 中的某些列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086770/