gpt4 book ai didi

ruby-on-rails - 如何在 Rails 项目之间共享数据库、迁移和模型?

转载 作者:行者123 更新时间:2023-12-04 06:18:26 27 4
gpt4 key购买 nike

我知道在 StackOverflow 上已经有一些关于这种影响的问题,但它们往往已经过时了,并且没有充分解决迁移在以下场景中应该如何工作,这应该是相当普遍的:

  • 您有某种应用程序,在 Rails 中实现。
  • 您有某种管理数据的应用程序,它是一个在 Rails 中实现的单独应用程序。
  • 两个应用程序都在相同的数据库和模型上运行。

  • 我的问题是:分解我们的模型以使这两个应用程序不必复制模型代码的最佳方法是什么?

    我们关注以下问题:
  • 对于共享模型,数据库迁移应该在哪里进行?
  • 如果每个单独的应用程序希望在共享模型之上添加额外的模型怎么办?这些迁移住在哪里?
  • 将现有迁移迁移到提议的共享迁移方案中的最佳方法是什么?

  • 谢谢。

    最佳答案

    我不知道这是否是方法,并且很想看到其他想法,但是我们在与此模型匹配的产品之一中做了什么:

    对于共享模型,数据库迁移应该在哪里进行?

    我们将所有迁移都保存在管理系统下。你不需要它们存在两次,所以这就是它们去的地方。

    如果每个单独的应用程序希望在共享模型之上添加额外的模型怎么办?这些迁移住在哪里?

    我们共享所有模型。目前它可能只与一个应用程序相关,例如 - a favourited_items概念可能只对最终用户重要。但稍后管理员可能想知道哪些项目最受喜爱。

    其次,如果您想通过控制台调查任何事情,如果您不需要访问单独的应用程序,这真的很有帮助,因为它们并不是每个表都有模型。

    每个应用程序不同的共享模型中的功能检测 rails 环境变量,我们已对其进行了扩展以包含更多上下文。例如:if Rails.env == 'admin_production'
    将现有迁移迁移到提议的共享迁移方案中的最佳方法是什么?

    同样,迁移应该只存在一次,并且共享数据库知道哪些已经运行过,因此除非您重命名迁移,否则您只需要选择一个位置并移动文件。

    关于ruby-on-rails - 如何在 Rails 项目之间共享数据库、迁移和模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36203010/

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