gpt4 book ai didi

ruby-on-rails - Rails 应用程序有 schema.rb 但没有迁移文件

转载 作者:行者123 更新时间:2023-12-03 09:19:26 25 4
gpt4 key购买 nike

我正在接管一个 Rails 项目,该项目具有填充的 schema.rb 文件,但奇怪的是它没有迁移文件夹,也没有迁移文件。我对这门语言很陌生,但是架构文件不是根据迁移文件创建的吗?如果我运行“rake db:migrate”,架构文件中的现有表将被删除。这是否意味着之前的开发人员手动编辑了架构文件?我可以在安装 Ruby/Rails 时删除迁移文件吗?

此外,日志显示此错误:

PG::UndefinedTable: ERROR:  relation "nameoftable" does not exist

这是否与没有迁移文件有关?

我现在正在创建迁移文件,但我想确认我是否正确理解了这一点。

提前致谢。

最佳答案

doesn't the schema file get created based on the migration files?

是的,但是他们可以独立生存。我可以创建我的架构并通过多次迁移对其进行修改,然后在将项目发送给您之前删除这些迁移。

Rails 仍然会正常启动,因为他关心的是 schema.rb 文件的内容。

如果您想构建数据库,则应从 schema.rb 加载架构,而不是使用 rake db:migrate。在一个非常大且长期存在的 Rails 项目中,无法保证所有迁移都能从第一个迁移到最后运行。

设置数据库的方式是使用命令

rake db:schema:load

然后,您可以在未来继续创建新的迁移。您实际上并不需要旧的迁移文件。

关于ruby-on-rails - Rails 应用程序有 schema.rb 但没有迁移文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34230635/

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