ActiveRecord :: ConnectionAdapters :: OracleEnhancedConnectionException "DESC имя таблицы, она существует?" ошибка при выполнении миграций для настройки теста - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь настроить базу данных в тестовой среде.Но я не могу перенести базу данных

Я искал в интернете часами.Хотя это общая проблема, ни одно из предложенных решений не помогло мне.Наиболее распространенная причина возникшей проблемы - неправильные учетные данные могут быть размещены в файле database.yml.Я тоже это проверил.Мой databse.yml правильный.

Для этого я выполнил грабли

'rake db: migrate RAILS_ENV = test'

При выполнении вышеуказанной команды выдается ошибка:

rake aborted!
ActiveRecord::ConnectionAdapters::OracleEnhancedConnectionException: "DESC articles" failed; does it exist?
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-oracle_enhanced-adapter-1.7.8/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:231:in `rescue in describe'

Caused by:
OCIError: ORA-04043: object articles does not exist
metadata.c:175:in oci8lib_240.so
/usr/local/rvm/gems/ruby-2.4.1/gems/ruby-oci8-2.2.5/lib/oci8/metadata.rb:2053:in `block in describe_table'
/usr/local/rvm/gems/ruby-2.4.1/gems/ruby-oci8-2.2.5/lib/oci8/metadata.rb:2052:in `times'
/usr/local/rvm/gems/ruby-2.4.1/gems/ruby-oci8-2.2.5/lib/oci8/metadata.rb:2052:in `describe_table'

Пожалуйста, помогите.

Спасибо заранее.

1 Ответ

0 голосов
/ 04 января 2019

Вы работаете над несколькими tenants с разными базами данных и переключаете их, используя метод establish_connection?

Возможно, из основной базы данных в дочернюю клиентскую базу, если вы предоставите доступ к любой таблице, она будет работать, ноесли вы пропустите, то это может быть такой ошибкой.(Я также испытал)

Вам нужно проверить внутри rails c по ActiveRecord::Base.connection.tables.includes? 'articles', который должен вернуть true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...