加载数据库哑,并运行所有迁移

时间:2016-04-07 05:36:40

标签: mysql ruby-on-rails rails-migrations dumb-data

对于Rails项目,如果给你一个数据库转储,那会是什么样的锣?

  1. 我运行所有迁移,然后加载数据库转储。
  2. 我只加载数据库转储。
  3. 在第2点,如果我只加载数据库转储,我,然后添加一个新的迁移到我的项目。因此,运行rake db:migrate只会运行新的迁移,因为旧的迁移已经通过加载数据库转储运行。

    或者,加载数据库转储与运行迁移无关。如果您运行rake db:migrate

    ,迁移只会标记为向上

    注意:DB dumb不是Rails模式,它是由MySQL生成的,它包含了开发人员拥有的所有数据。

1 个答案:

答案 0 :(得分:1)

我首先加载数据库转储,因为它还包含所有数据和当前架构结构。

  

运行rake db:migrate只会运行新的迁移

这取决于。如果数据库转储具有schema_migrations表,该表列出了以前应用的所有迁移,则表示不会应用迁移。否则,它会尝试失败。

您基本上需要以下步骤:

  1. 导入转储
  2. 创建Rails架构(rake db:schema:dump)
  3. 如果您有较新的迁移,请运行它们