簡體   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