如何在rails 4.0中动态创建迁移文件?
我想通过我的lib文件动态地向不同的表添加一些列。 如何从lib文件中添加和执行它?
答案 0 :(得分:-2)
是的,我找到了一种从lib添加迁移文件的方法。我为此创建了一个方法。以下代码段不完整。但是可以更好地动态创建迁移文件。
def create_columns
.........
.........
columns.each { |column| add_columns << "\tadd_column(':#{tb_name}', :#{column})\n" }
columns
end
def migration_file_content(tb_with_cols)
<<-RUBY
class AddMissingColumnsToTable < ActiveRecord::Migration
def change_table
#{create_columns(tb_with_cols)}
end
end
RUBY
end
def write_content_to_file(path, content)
File.open(path, 'w+') do |f|
f.write(content)
end
end