正在尝试将 Rails 7 连接到现有的 PG DB

Trying to connect Rails 7 to existing PG DB

我有一个现有的 Postgres 数据库,其中包含各种模式、tables、已定义的用户和数据。有许多现有的 Rails 应用程序与它相关联,但我并未开发这些应用程序。现在我正在创建一个新的应用程序,而且它很复杂。

我通过 gem 文件和包安装了 pg gem。之后,我编辑了 config/database.yml,如下所示:

default: &default
  adapter: postgresql
  database: ****
  schema_order: ****
  encoding: UTF8
  host: ****
  port: ****
  allow_concurrency: true
  username: ****
  password: ****

development:
  adapter: postgresql
  database: ****
  schema_order: ****
  encoding: UTF8
  host: ****
  port: ****
  allow_concurrency: true
  username: ****
  password: ****

production:
  <<: *default

因此,我创建了一个默认的简单视图和控制器以从那里开始编码,但是当我 运行 本地主机中的应用程序时,弹出以下错误:

ActiveRecord::StatementInvalid
PG::InsufficientPrivilege: ERROR: permission denied for relation schema_migrations

并且在终端中我可以看到以下查询:

ActiveRecord::SchemaMigration Pluck (1.9ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC

我不明白,因为我没有任何迁移,因此没有 db/schema.rb。而且,同样重要的是......显然, schema_migrations table 不存在。数据库不是使用迁移创建的。我知道 ActiveRecord 为此使用迁移,但我如何“禁用”它?我的意思是,如果所有其他应用程序都在运行,那么显然有一个解决方法。但是我找不到。

好吧,我有点绕过它。不过我不能说我完全解决了我的问题。我发现当我使用其他用户时不会出现该错误。所以,为了发展,没问题。但我想为连接到数据库的每个应用程序定义角色。我必须多调查一下用户设置..