代码之家  ›  专栏  ›  技术社区  ›  user3755529

Rails和现有Postgres数据库

  •  0
  • user3755529  · 技术社区  · 3 年前

    如果您想构建一个使用现有数据库的Rails项目,那么最佳实践是什么?

    在我的例子中,位于远程机器上的postgres数据库运行一个带有postgres的docker实例,它有一个带有表的数据库 stake_address .

    现在我在Rail中创建了一个模型:

    class StakeAddress < ApplicationRecord
    end
    

    在里面 rails console :

    2.6.1 :001 > StakeAddress.all
    Traceback (most recent call last):
    ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR:  relation "stake_addresses" does not exist)
    LINE 1: SELECT "stake_addresses".* FROM "stake_addresses" LIMIT $1
                                            ^
    

    有没有办法避免Rails来寻找一个多元化的表?

    另外,我想我不需要迁移,因为数据库已经创建好了。这会导致问题吗?

    我的想法是,我将能够连接到两个数据库,一个只读的已经存在,另一个我可以把我自己的模型作为用户。但是他们能够创建跨数据库的关联吗?

    0 回复  |  直到 3 年前
        1
  •  1
  •   codenamev    3 年前

    如果没有太多的表,我也会推荐@eyeslandic所建议的,并手动覆盖需要它的模型中的表名。

    self.table_name = 'stake_address'
    

    You can do this safely in production with something like LHM .