在 Rails + Mongoid 安装之上添加 ActiveRecord

Adding ActiveRecord on top of a Rails + Mongoid install

我有一个 Rails 5.2 和 Mongoid 7 的现有项目,我之前禁用了所有与 activerecord 相关的模块。

我们正在努力与商业智能数据仓库同步,​​我发现 this gem 这似乎是一个很好的起点:我打算将 ActiveRecord 与此适配器一起使用,以轻松实现将推送的代码数据到我的 Amazon Aurora 数据库以用于 BI。

我创建了一个简单的模型

# model/test.rb
class Test < ActiveRecord::Base
end

我加了一个database.yml

# config/database.yml
development:
  adapter: aurora_serverless
  ...

但是当我尝试对模型执行任何操作时,它说无法连接

ActiveRecord::ConnectionNotEstablished: No connection with pool with 'primary' found

我是否遗漏了其他让 ActiveRecord 工作的东西?我需要一些额外的 Railties 等吗?就好像 database.yml 文件根本没有被读取一样

这是我最后做的事情的总结

  • 在您的 Gemfile 中添加所需的 gems(事实上,我添加的 gem 甚至不需要 mysql2 gem 这让我松了一口气,因为 mysql2 依赖于本地 OS 库,而且您很可能会遇到很多错误)

  • 创建一个 config/database.yml 文件,并根据您需要的每个环境和您需要的 AR 配置设置一个密钥

  • 在application.rb中,添加require 'active_record/railtie'(railtie将从database.yml文件初始化连接)

  • 创建一些模型

  • 也许您需要额外的适配器以适应 local/test/staging/prod 环境

  • 如果您正在使用 docker-compose

    ,请为 SQL 数据库添加一个容器