Как читать базу данных разработки Rails в тестовой среде? - PullRequest
0 голосов
/ 20 мая 2018

Мое приложение подключается к внешнему, только для чтения, набору данных, доступ к которому осуществляется часто вращающимися клавишами.

То есть каждые несколько часов ваш текущий ключ переходит в состояние, а затем вам нужно использовать ключ обновления, чтобы получить новый ключ доступа.Когда вы используете ключ обновления, вы получаете новый ключ обновления и новый ключ доступа.

Проблема в тесте, мне нужно получить эти ключи, чтобы выполнить некоторые из моих тестов.Прямо сейчас я прибегаю к вырезанию и вставке текущих ключей из моего файла development.db, в котором они хранятся, в application.yml каждые пару часов, но это, конечно, утомительно.

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

Как это сделать?(Рельсы 5)

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете создать вторую конфигурацию соединения и вручную создать соединение в классе модели.

# database.yaml
test_external:
...same as development

# production_external.yml
...your production keys storage


class MyModel < ActiveRecord::Base
 establish_connection "#{Rails.env}_external"
end

Или, если вы не хотите менять свою модель, вы можете получить доступ к соединению напрямую:

# rails_helper.rb
ActiveRecord::Base.establish_connection('development')
@@keys = ActiveRecord.Base.connection.execute('query to retrieve the keys')

# set connection again to test to not break the tests.
ActiveRecord::Base.connection.establish_connection(Rails.env)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...