gpt4 book ai didi

ruby-on-rails - 修改现有迁移文件有什么危险吗?

转载 作者:行者123 更新时间:2023-11-29 14:05:38 26 4
gpt4 key购买 nike

我最近开始工作的一家公司在某个时间点设法删除了他们的一个迁移文件 - 或者至少我是这么认为的。该文件创建了一个包含 users 的表,但此表已被删除。

如果不是因为在本地构建项目会失败这一事实,我通常不会介意,除非我在包括此表创建的早期迁移中暂时鞋拔,这是因为后来的迁移都修改了这个假定的列users 表并最终删除该表。我最近所做的只是将它添加到一个现有的迁移文件中,该文件正在创建一些其他表,比方说 products,我一直在从一个分支到另一个分支“携带”它,非常小心我不这样做'提交它。

它看起来像这样(示例):

class AddProductsTable < ActiveRecord::Migration
def change
create_table :products do |t|
end
end
end

我改成了:

class AddProductsTable < ActiveRecord::Migration
def change
create_table :products do |t|
end

create_table :users do |t|
end
end
end

我基本上想知道这样做是否会对生产造成任何损害。毕竟,迁移已经运行,所以它不会再次执行吗?我很想这样做,因为它很快就变老了,总是记得在我需要重建时重新创建或拖拽这段代码,但我没有足够的信心,认为坏事不会发生,也不会发生我在 Google 上找到了很多答案。

PS.,我是目前该项目的唯一开发人员,他们没有任何其他开发人员可以问我这个问题。

最佳答案

如果您还没有运行迁移,那么编辑迁移文件没有问题。 否则:引用自 Rails 指南:

In general, editing existing migrations is not a good idea. You will be creating extra work for yourself and your co-workers and cause major headaches if the existing version of the migration has already been run on production machines. Instead, you should write a new migration that performs the changes you require. Editing a freshly generated migration that has not yet been committed to source control (or, more generally, which has not been propagated beyond your development machine) is relatively harmless.

来源:Changing existing migrations

关于ruby-on-rails - 修改现有迁移文件有什么危险吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58926154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com