【问题标题】:Rails app to work with a remote heroku database使用远程 Heroku 数据库的 Rails 应用程序
【发布时间】:2014-11-18 09:32:51
【问题描述】:

我在 python 中构建了一个应用程序,它托管在 heroku 上,它基本上使用 Python 编写的脚本将一些结果存储到数据库中(它每天作为计划任务运行)。我会使用 ruby​​/rails 来避免这种混淆,但应用程序合作伙伴不支持 Ruby。

我想知道是否可以使用 Ruby on Rails 构建前端并使用相同的数据库。

我的 Rails 应用程序需要使用 MVC 并在数据库上拥有自己的表,但它也将使用 python 发送数据的数据库来从那里检索一些数据。

我可以创建 Rails 应用程序并引用我的 python 应用程序使用的数据库的详细信息吗?

如何在我的本地机器上进行测试?

最好的方法是什么?

【问题讨论】:

    标签: python ruby-on-rails ruby ruby-on-rails-3 heroku


    【解决方案1】:

    我认为这样做没有任何问题,因为 rails 管理数据库结构并且 python 脚本用数据填充它。 我的建议,但只是为了让它更简单,是通过您的 rails 应用程序中的迁移来定义数据库模式,并像不存在 python 脚本一样构建它。 完成后,只需启动 python 脚本,它就可以开始填充数据库(可能需要在 python 脚本中重命名某些表,但仅此而已)。

    如果您想在本地机器上进行测试,您可以选择以下方法之一:

    • 在本地机器上运行 python 脚本
    • 在您的 Rails 应用程序中配置 database.yml 以指向远程数据库(如果您没有对主机服务器的管理访问权限,可能会很困难,因为端口转发等)

    您应该记住的唯一一件事是关于并发访问。 因为你有 2 个应用程序在你的数据库中读写,如果 python 脚本在 single and atomic transaction 中工作会更好,以避免你的 rails 应用程序发现数据库处于半更新状态。

    您可以将数据库视为一个共享框,无论有多少应用程序使用它。

    【讨论】:

    • 我会采纳您的建议,因为它非常聪明!我将从 Rails 迁移创建数据库,因此我不必处理其他数据库没有相同列名称等事实。谢谢!
    猜你喜欢
    • 2019-04-07
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    相关资源
    最近更新 更多