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
表用于确定迁移是否应运行。由于该表只有时间戳,除非您更改时间戳,否则它不会重新运行迁移谢谢因此,根据您的第二点,我可以更改文件名中的措辞以匹配类名,并且只要我不更改时间戳,迁移就不会运行?我确实会。现在我知道,我应该添加新的迁移来更改数据库,并在其余文件中完成查找和替换。谢谢。因此,根据您的第二点,我可以更改文件名中的措辞以匹配类名,并且只要我不更改时间戳,迁移就不会运行?我确实会。现在我知道,我应该添加新的迁移来更改数据库,并在其余文件中完成查找和替换。谢谢。因此,根据您的第二点,我可以更改文件名中的措辞以匹配类名,并且只要我不更改时间戳,迁移就不会运行?我确实会。现在我知道,我应该添加新的迁移来更改数据库,并在其余文件中完成查找和替换。谢谢。因此,根据您的第二点,我可以更改文件名中的措辞以匹配类名,并且只要我不更改时间戳,迁移就不会运行?我确实会。我现在知道,我应该添加新的迁移来更改数据库,并在其余文件中完成查找和替换。