#ruby-on-rails #ruby #quantitative-finance #back-testing
#ruby-on-rails #ruby #количественный-финансы #обратное тестирование
Вопрос:
Я хочу протестировать некоторые данные, я бы хотел, чтобы результаты моего тестирования и анализа были вкладом в решения моего приложения.
Я думал о дублировании модели / таблицы и для целей выполнения моего обратного тестирования и анализа, но тогда я удвоил бы свою рабочую нагрузку и не был бы особенно масштабируемым.
Возможно ли динамически переключать среду rails для конкретного конкретного класса? Т.е. Создайте класс BacktestingService, любое чтение / запись базы данных выполняется в «тестовую» базу данных, в то время как остальная часть приложения продолжает использовать среду разработки / производства?
Можете ли вы предложить какие-либо другие решения для моего варианта использования?
Комментарии:
1. В руководствах Rails есть статья о нескольких базах данных с активной записью .
2. @spickermann Если я правильно прочитал документы, «Использование ручного переключения соединений» подходит для моего варианта использования?
Ответ №1:
Используя connected_to, я могу переключиться на другую базу данных (в данном случае :test
), выполнить обратное тестирование и анализ в блоке connected_to:
ActiveRecord::Base.connected_to(database: :test) do
backtest stuff here
end
За пределами блока я могу использовать свою базу данных по умолчанию.
Я нашел это полезным: https://prathamesh.tech/2019/08/13/rails-6-multi-database-part-two /