繁体   English   中英

Rails 和现有的 Postgres 数据库

[英]Rails and Existing Postgres Database

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

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

现在我在 Rail 中创建了一个 model:

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 寻找多元化的表格? 我想还会有很多其他类似的问题,所以我想知道这是否是常见的做法,或者是否是世界上强烈建议避免的事情?

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

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

也许 Rails 不是这类工作的最佳框架? 是我在训练营期间学到的东西,但也许我应该切换到更灵活的环境?

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

self.table_name = 'stake_address'

如果有很多表,从长远来看,如果重命名它们会更好。 您可以使用 LHM 之类的东西在生产中安全地执行此操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM