所以,我说有10个模型在100个迁移文件的过程中不断发展。是否有某种实用程序可以查看我的架构并构建10' clean'迁移文件?
迁移:
class CreateFoos < ActiveRecord::Migration
def change
create_table :foos do |t|
t.belongs_to :bar
t.string :baz
t.integer :qux, default: 0
end
add_index :foos, :bar_id
end
end
模式:
ActiveRecord::Schema.define(:version => 20140610225017) do
create_table "foos", :force => true do |t|
t.integer "bar_id"
t.string "baz"
t.integer "qux", :default => 0
end
add_index "foos", ["bar_id"], :name => "index_foos_on_bar_id"
end
我只是觉得......如果它知道如何从迁移到模式,那么反之亦然。这听起来很愚蠢吗?
答案 0 :(得分:1)
我发现您可以在将迁移全部应用到所有数据库,通过生产进行开发后删除迁移。如果要从头开始填充新的开发或生产数据库,可以(a)备份生产并还原到新数据库,或者(b)使用rake db:schema:load
从schema.rb文件加载。
如果您确实希望迁移某些文档或清晰度,请创建新架构rails g migration schema2014
。将迁移应用于生产后,删除所有旧迁移文件并将schema.rb复制到新迁移中。
答案 1 :(得分:0)
如果您不关心实际数据并且正在处理要使用schema.rb创建数据库结构的新安装,则应使用rake db:schema:load
。
更多详情: