Простой способ запустить рельсовые миграции для удаленной базы данных - PullRequest
1 голос
/ 20 апреля 2019

У меня есть приложение rails, и я хочу отделить базу данных Postgres от удаленной, управляемой, а не от стандартной локальной. Это казалось достаточно простым, чтобы настроить это - однако, теперь я пытаюсь выполнить свои миграции с этим новым БД, и это оказывается более трудным. Я использую Mina для развертывания, который вызывает rake db: migrate как часть развертывания. Однако он не запускает миграцию, поскольку говорит, что все миграции обновлены, и мои вызовы создания не могут найти таблицы, поэтому я предполагаю, что миграции не выполнялись на удаленной базе данных.

Каков наилучший способ сделать это? Любой другой ответ, который я нашел, включает добавление чего-то вроде ActiveRecord::Base.establish_connection(db_params) команды в начало каждой миграции и каждой модели. Это кажется абсурдным - у меня, вероятно, 75 миграций на данный момент. Нет лучшего способа? Это даже правильный подход, или я мог бы также как-то использовать файл сгенерированных схем?

1 Ответ

1 голос
/ 20 апреля 2019

Вы можете настроить свои учетные данные базы данных в database.yml с помощью чего-то подобного.

remote:
  adapter: postgresql
  host: your.remote.host
  database: yourdb
  username: user
  password: pass
  pool: 5
  timeout: 5000
  locale: en_US.UTF8

Затем запустите миграцию как

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