我一直在挖掘我的开发数据库,并准备将其移至生产环境。我在rails之外做了一些编辑,所以我没有对所有更改进行迁移。我知道我可以rake db:schema:dump
生成一个schema.rb文件,但我可以将它应用于已经填充的生产数据库而不擦除数据吗?与rake db:schema:load
类似的东西没有擦除数据?可能耙分贝:模式:加载而不擦除数据库
如果不是,我是否需要手动创建可以捕捉生产数据库的迁移?如果我确实进行了这些迁移,将不会在开发框中对rake db:migrate
的所有未来调用都失败,因为迁移中的更改已经存在于dev db中?
如何执行此步骤:“通过手动将时间戳添加到schema_migrations表来修复您的本地开发数据库”? – 2012-04-12 22:04:15
当您添加迁移时,它将以时间戳开始,如'db/migrate/201204131212_create_users.rb'。这些时间戳存储在'schema_migrations'表中。只需将它们添加到您最喜欢的工具中即可在数据库中查看。 – iain 2012-04-13 08:01:20
因此,如果我将时间戳添加到'schema_migrations'表,然后运行'db:migrate',那么迁移将不会运行? – 2012-04-13 17:28:56