迁移状态保存在哪里



我的问题与此有很大关系 我应该在回滚后删除迁移吗?

我的原始迁移文件20140731141350_create_users.rb

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :email
      t.string :password
      t.timestamps
    end
  end
end

我需要在其中添加一个列,所以我创建了迁移 20140804125449_add_salt_colum_to_users.rb

class AddSaltColumToUsers < ActiveRecord::Migration
  def change
    add_column :users, :salt, :string
  end
end

但在开发过程中,我意识到柱不是必需的 并执行

rake db:migrate:down VERSION=20140731141350

现在我留下了一个未使用的 20140804125449_add_salt_colum_to_users.rb 迁移文件。

我的问题是,如果我不删除此迁移文件,此迁移的"关闭"状态保存到何处? 迁移文件显示add_column,因此如果我再次运行db:migrate ,它如何知道此特定文件已向下迁移?

db:migrate:downdb:rollback相似。 down将数据库还原到指定版本,回滚 - 到以前的版本。要检查是否应用了迁移,Rails有一个名为"schema_migrations"的特定表,该表存储所有已应用迁移的时间戳,因此基本上当您运行db:migrate:down rails时,它会还原迁移并从schema_migrations中删除该行。因此,如果您不删除迁移文件 - rails 将在下一个db:migrate中应用它

最新更新