Syn c Базы данных в Rails 6 - PullRequest
       5

Syn c Базы данных в Rails 6

0 голосов
/ 08 апреля 2020

Желаемое состояние

Я хочу настроить мое приложение Rails на два типа производственных экземпляров:

  • Один глобальный производственный экземпляр, который существует один раз и имеет производственную базу данных.
  • Производственный экземпляр, который запускается локально на разных компьютерах и имеет локальную производственную базу данных для каждого компьютера.

Локальный экземпляр должен иметь возможность периодически синхронизировать c свою базу данных с производственной базой данных, если доступно соединение inte rnet.

Вопрос

Я вижу две основные идеи, как этого добиться, но для них обоих у меня есть несколько открытых вопросов:

  • Используйте производственную среду для обоих, но используйте разные базы данных.
  • Использование отдельная среда для обоих.

В первом случае мне нужно было бы найти способ решить, какую базу данных использовать. Например, может быть аргумент командной строки, чтобы указать rails использовать локальную базу данных. Но каким-то образом мне нужно иметь возможность указать активной записи, какую из них использовать.

В последнем случае мне нужно выяснить, как выполнять операции между средами.

На что я надеюсь ответить:

  • Какой подход лучше
  • Как заставить этот подход работать

Контекст

У меня есть приложение rails что я использую только себя. Я мог бы обнародовать это в какой-то момент, и это потенциально полезно и для других, но, главное, главное, чтобы он использовался для решения моих собственных проблем. Для тех, кто действительно заинтересован: это приложение для обучения кубика Рубика. Но это не должно относиться к вопросу.

Одна важная особенность - у меня есть несколько компьютеров, и я хочу использовать их со всех из них. Пока у меня есть соединение inte rnet, я могу просто настроить сервер и использовать мое приложение rails. Но я хочу иметь возможность использовать его и в автономном режиме.

Поэтому, когда у меня нет соединения, я хочу иметь возможность запускать приложение rails локально. Когда у меня снова будет соединение, мое приложение rails должно позаботиться о загрузке изменений в базу данных, которую я сделал. Обратите внимание, что запись подробностей в логи синхронизации c не является проблемой. Это общая настройка, которую я не знаю, как решить.

...