在生成/编写/运行 Rails 数据库迁移之后,是否应该将迁移文件和db/schema.rb
版本控制分开提交?
问问题
1371 次
2 回答
3
我见过的大多数人都在一次提交中提交它们。
这样对我来说更有意义。它确保rake db:migrate
在任何修订版上运行 a 都不会修改db/schema.rb
.
于 2011-04-16T12:35:01.573 回答
3
如果与迁移不同步,一些应该相似的 rake 任务可能会有不同的行为schema.rb
,例如:
创建数据库后,如果运行:
rake db:migrate
- 它将运行迁移
rake db:schema:load
- 它将使用schema.rb
重置数据库:
rake db:migrate:reset
- 重新创建一个一个运行迁移的数据库。
rake db:reset
- 使用当前版本重新创建数据库schema.rb
在这两种情况下,无论您选择哪个任务,结果都应该是相同的。通常,使用schema.rb
是首选,因为它一步创建数据库,而不是为每个迁移传递,但如果它与迁移的版本不同,结果会有所不同。
于 2011-04-17T23:09:49.053 回答