gpt4 book ai didi

ruby-on-rails - Rails 外部 MySQL 数据库 - 没有迁移

转载 作者:行者123 更新时间:2023-12-04 05:13:33 25 4
gpt4 key购买 nike

我正在开发一个 Rails 应用程序,作为更大解决方案的一部分。此解决方案的核心将是一个 mySQL 数据库,并且将来会附加其他 Web 服务和连接器。

我们计划首先根据 rails 约定对数据、列名、关系进行建模。但我希望我将使用“建立连接”来做一个表到表映射到实际数据库,然后在 rails 本身中不使用任何迁移。

所以我的问题是,将 rails 应用程序附加到外部数据源以对数据模型进行持续更改的最佳实践是什么。

我是否应该简单地用新字段和关系手动更新 model.rb 文件,然后允许 rails 通过建立连接到每个表?

是否有任何工具可以同步数据模型中可能已更改的已更改字段和/或关系?其他开发人员之一熟悉 Symfony 并说他们使用过类似的东西。我找到的用于对数据库进行逆向工程的 gem 要么已经过时,要么似乎只是删除了 .rb 文件,而没有考虑字段或关系。

谢谢!

最佳答案

Are there any tools that can sync the changed fields and/or relationships that may have changed in the data model?



按照设计,Ruby on Rail 的迁移旨在在对 RoR 模型进行更改时以增量方式更新数据库。

如果我理解正确,您有兴趣记录相反方向的变化;反移民,如果你愿意的话;)。如果是这样,那么迁移不适合于此。

根据您的数据库更改的记录方式(您提到此 web 应用程序是更大机器中的一个齿轮),我建议您完全放弃迁移,因为这些迁移旨在对数据库进行更改。话虽如此,我强烈建议使用迁移来记录您的数据库更改。

回到你的问题。简单地运行 rake db:migrate 我可能会在这个问题上出错(没有任何迁移)只需更新 db\schema.rb文件。 schema.rb将始终反射(reflect)调用时的最新数据库结构。不幸的是,这就是魔法停止的地方。如果影响模型的属性名称,则需要更新 Rails Web 应用程序以反射(reflect)任何 DB 元数据更改。

Should I simply update the model.rb files with new fields, and relationships manually, and then allow rails to connect to each table via establish?



是的,恕我直言:)

HTH,祝你好运。

关于ruby-on-rails - Rails 外部 MySQL 数据库 - 没有迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14585578/

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