Ruby on rails 3 重命名Rails迁移文件会影响我的live应用程序吗?

Ruby on rails 3 重命名Rails迁移文件会影响我的live应用程序吗?,ruby-on-rails-3,activerecord,rails-migrations,Ruby On Rails 3,Activerecord,Rails Migrations,我编辑了一些迁移文件的内容,以解决回形针和附件模型之间的问题,并将其重命名为上传 01234\u创建\u附件.rb class CreateAttachments < ActiveRecord::Migration def change create_table :attachments do |t| t.string :name t.string :attachment_url t.timestamps end end end

我编辑了一些迁移文件的内容,以解决回形针和
附件
模型之间的问题,并将其重命名为
上传

01234\u创建\u附件.rb

class CreateAttachments < ActiveRecord::Migration
  def change
    create_table :attachments do |t|
      t.string :name
      t.string :attachment_url
      t.timestamps
    end
  end
end
class CreateUploads < ActiveRecord::Migration
  def change
    create_table :uploads do |t|
      t.string :name
      t.string :upload_url
      t.timestamps
    end
  end
end
请注意,我只编辑了文件内容,而没有编辑文件名

现有的应用程序运行良好,但现在我无法
git克隆
repo到新服务器,因为
rake db:migrate
失败。如果我随后编辑新服务器上的实际迁移文件名,它将正常运行:

01234\u create\u attachments.rb
01234\u create\u uploads.rb

class CreateAttachments < ActiveRecord::Migration
  def change
    create_table :attachments do |t|
      t.string :name
      t.string :attachment_url
      t.timestamps
    end
  end
end
class CreateUploads < ActiveRecord::Migration
  def change
    create_table :uploads do |t|
      t.string :name
      t.string :upload_url
      t.timestamps
    end
  end
end
我的问题是,如果我在我的主分支中重命名迁移文件,那么将来当我
rake db:migrate
时,它是否会导致我现有的live app出现问题

  • 迁移的文件名和类名应该匹配
  • schema_migrations
    表用于确定迁移是否应运行。由于该表只有时间戳,除非您更改时间戳,否则它不会重新运行迁移
  • 在生产环境上运行现有迁移后,不建议更改现有迁移。如果必须更改任何内容,请添加新迁移
  • 迁移的文件名和类名应该匹配
  • schema_migrations
    表用于确定迁移是否应运行。由于该表只有时间戳,除非您更改时间戳,否则它不会重新运行迁移
  • 在生产环境上运行现有迁移后,不建议更改现有迁移。如果必须更改任何内容,请添加新迁移
  • 迁移的文件名和类名应该匹配
  • schema_migrations
    表用于确定迁移是否应运行。由于该表只有时间戳,除非您更改时间戳,否则它不会重新运行迁移
  • 在生产环境上运行现有迁移后,不建议更改现有迁移。如果必须更改任何内容,请添加新迁移
  • 迁移的文件名和类名应该匹配
  • schema_migrations
    表用于确定迁移是否应运行。由于该表只有时间戳,除非您更改时间戳,否则它不会重新运行迁移
  • 在生产环境上运行现有迁移后,不建议更改现有迁移。如果必须更改任何内容,请添加新迁移

  • 谢谢因此,根据您的第二点,我可以更改文件名中的措辞以匹配类名,并且只要我不更改时间戳,迁移就不会运行?我确实会。现在我知道,我应该添加新的迁移来更改数据库,并在其余文件中完成查找和替换。谢谢。因此,根据您的第二点,我可以更改文件名中的措辞以匹配类名,并且只要我不更改时间戳,迁移就不会运行?我确实会。现在我知道,我应该添加新的迁移来更改数据库,并在其余文件中完成查找和替换。谢谢。因此,根据您的第二点,我可以更改文件名中的措辞以匹配类名,并且只要我不更改时间戳,迁移就不会运行?我确实会。现在我知道,我应该添加新的迁移来更改数据库,并在其余文件中完成查找和替换。谢谢。因此,根据您的第二点,我可以更改文件名中的措辞以匹配类名,并且只要我不更改时间戳,迁移就不会运行?我确实会。我现在知道,我应该添加新的迁移来更改数据库,并在其余文件中完成查找和替换。