Rails迁移:将同一列添加到多个表

Mad*_*hik 4 migration timestamp add ruby-on-rails-3

是否有一些特殊的语法可以将timestamp列添加到多个表中?

Ste*_*sen 8

不是特定的特殊用途语法,但您当然可以迭代表名数组,并对每个表名执行相同的迁移步骤.

class AddTimeStampsToABandC < ActiveRecord::Migration
  AFFECTED_TABLES = [:table_a, :table_b, :table_c]

  def self.up
    AFFECTED_TABLES.each do |t|
      add_timestamps(t)
    end
  end

  def self.down
    AFFECTED_TABLES.each do |t|
      remove_timestamps(t)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)