加载 DB dumb,以及 运行 所有迁移
Loading the DB dumb, and running all the migrations
对于一个 Rails 项目,如果给你一个数据库转储,应该怎么做?
- 我运行所有迁移,然后加载数据库转储。
- 我只加载数据库转储。
在第 2 点中,如果我只加载数据库转储,然后向我的项目添加一个新的迁移。那么,运行宁 rake db:migrate
只会 运行 新迁移,因为旧迁移已经 运行 通过加载数据库转储。
或者,加载数据库转储与 运行ning 迁移无关。如果您有 运行 rake db:migrate
?
,迁移只会被标记为 up
注意:DB dumb 不是 Rails 模式,它是由 MySQL 生成的,它包含开发人员拥有的所有数据。
我会首先加载数据库转储,因为它还包含您的所有数据和当前架构结构。
running rake db:migrate will only run the new migration
这取决于。如果您的数据库转储有一个 schema_migrations
table,它列出了所有以前应用的迁移,它将不会应用这些迁移。否则,它将尝试并失败。
你基本上需要这些步骤:
- 导入你的转储
- 创建一个 Rails 模式(rake db:schema:dump)
- 如果您有较新的迁移,运行 它们
对于一个 Rails 项目,如果给你一个数据库转储,应该怎么做?
- 我运行所有迁移,然后加载数据库转储。
- 我只加载数据库转储。
在第 2 点中,如果我只加载数据库转储,然后向我的项目添加一个新的迁移。那么,运行宁 rake db:migrate
只会 运行 新迁移,因为旧迁移已经 运行 通过加载数据库转储。
或者,加载数据库转储与 运行ning 迁移无关。如果您有 运行 rake db:migrate
?
注意:DB dumb 不是 Rails 模式,它是由 MySQL 生成的,它包含开发人员拥有的所有数据。
我会首先加载数据库转储,因为它还包含您的所有数据和当前架构结构。
running rake db:migrate will only run the new migration
这取决于。如果您的数据库转储有一个 schema_migrations
table,它列出了所有以前应用的迁移,它将不会应用这些迁移。否则,它将尝试并失败。
你基本上需要这些步骤:
- 导入你的转储
- 创建一个 Rails 模式(rake db:schema:dump)
- 如果您有较新的迁移,运行 它们