首页 > 解决方案 > Codeship 不适用于 Rails multiverse gem

问题描述

本地所有测试都通过了,但我无法让 rspec 在 Codeship 上运行:

脚本:

bundle exec rake db:drop db:create db:migrate
DB=catalog bundle exec rake db:drop db:create db:migrate

DB=catalog bundle exec rails db:test:prepare
bundle exec rspec

代码错误:

Failure/Error: establish_connection :"catalog_#{Rails.env}"


ActiveRecord::AdapterNotSpecified:
  'catalog_test' database is not configured. Available: ["development", "test"]

ActiveRecord::ConnectionNotEstablished:
  No connection pool with 'CatalogRecord' found.

数据库.yml:

.
.
.
catalog_development:
  <<: *default
  database: catalog_development

catalog_test:
  <<: *default
  database: catalog_test

目录记录

class CatalogRecord < ActiveRecord::Base
  self.abstract_class = true
  establish_connection :"catalog_#{Rails.env}"
end

标签: ruby-on-railscodeship

解决方案


CodeShip Basic 上的 Rails 项目将覆盖其 database.yml 文件,以便连接到默认数据库。我会查看有关重新声明您自己的database.yml变体的链接文档。


推荐阅读