繁体   English   中英

如何让所有表包含Rails 4中的某些列?

[英]How can I make all tables contain certain columns in Rails 4?

我们假设我要创建10个表,它们共有4列。 是否有一种简单的方法来生成迁移,而无需在10个表的每个迁移文件中指定所有4列?

创建自己的迁移帮助程序非常容易。 我将创建一个简单的,添加created_byupdated_by列,并使用名为userstamps的迁移帮助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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM