导轨:gem "rails", "6.0.0.rc2"
我有多个数据库。没有一个是复制品(我正在阅读和写作所有 3 个):在 rails 6 之前,我使用了 multiverse gem,一切看起来都很好。我遵循 rails 6 并将 multiverse 更改为 rails 6 文档。但是我无法在 Heroku 中运行 db:migrate,即使一切都在本地完美运行。
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
establish_connection :primary
end
.
class ObsRecord < ActiveRecord::Base
self.abstract_class = true
establish_connection :obs
end
.
class AbcRecord < ActiveRecord::Base
self.abstract_class = true
establish_connection :abc
end
数据库.yml
staging:
primary:
<<: *default
adapter: postgresql
url: <%= ENV['DATABASE_URL'] %>
username: <%= ENV['DATABASE_USER'] %>
password: <%= ENV['DATABASE_PASSWORD'] %>
obs:
<<: *default
adapter: postgresql
url: <%= ENV['OBS_DATABASE_URL'] %>
username: <%= ENV['OBS_DATABASE_USER'] %>
password: <%= ENV['OBS_DATABASE_PASSWORD'] %>
migrations_paths: db/obs_migrate
abc:
<<: *default
adapter: postgresql
url: <%= ENV['ABC_DATABASE_URL'] %>
username: <%= ENV['ABC_DATABASE_USER'] %>
password: <%= ENV['ABC_DATABASE_PASSWORD'] %>
migrations_paths: db/abc_migrate
rails db:migrate
什么都没有显示,好像没有迁移但是当我运行时rails c
我看到以下错误。是的,我确信最新的代码被推送了。
heroku restart
没有帮助
Heroku错误:
Traceback (most recent call last):
102: from /app/bin/rails:4:in `<main>'
101: from /app/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.0.rc2/lib/active_support/dependencies.rb:322:in `require'
.
.
4: from /app/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.0.rc2/lib/active_record/connection_handling.rb:50:in `establish_connection'
3: from /app/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.0.rc2/lib/active_record/connection_handling.rb:180:in `resolve_config_for_connection'
2: from /app/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.0.rc2/lib/active_record/connection_adapters/connection_specification.rb:140:in `resolve'
1: from /app/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.0.rc2/lib/active_record/connection_adapters/connection_specification.rb:219:in `resolve_connection'.
.
/app/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.0.rc2/lib/active_record/connection_adapters/connection_specification.rb:251:in `resolve_symbol_connection': The `abc` database is not configured for the `staging` environment. (ActiveRecord::AdapterNotSpecified)
Available databases configurations are:
default
prod_uat_default
development
test
staging
uat
production
^^ 我期待小学、abc 和 obs 正在分期。
此外,rails -T
没有显示关于我的第二个和第三个数据库的任何内容