Лучше ли переносить записи между базами данных через mysql или rails? - PullRequest
0 голосов
/ 03 июля 2019

Мы запускаем производственный сервер с различными уроками и создаем демонстрационный сервер с ограниченным доступом. Создание каждого урока занимает около часа в нашей CMS, и я пытаюсь создать способ переноса созданных там уроков в нашу другую среду одним нажатием кнопки. Моя конечная цель - иметь записи с одинаковыми первичными идентификаторами в обеих базах данных

Мой первый вопрос: правильно ли это решать с помощью Ruby, а не SQL? Я могу настроить службу, которая отправляет запрос на демонстрационный сервер с правильными параметрами, но это создаст новые записи с идентификаторами, которые не совпадают. Является ли для меня предпочтительным написать сценарий, который будет принимать атрибуты объекта в качестве аргументов, и создавать записи непосредственно через mysql? И если да, то какой подход к этому лучше? Вызов граблей?

Извиняюсь за открытый вопрос, но я не уверен, где еще я могу спросить, и не нашел ресурсов по копированию записей между базами данных в приложении rails (просто дублирование объектов в одной среде)

1 Ответ

1 голос
/ 03 июля 2019

Если демонстрационный сервер не предназначен только для чтения - в общей ситуации вы легко можете столкнуться с ситуацией, когда идентификаторы, которые вы собираетесь внедрить - уже заняты.

Что касается самого процесса - я бы ввел формат сериализации для уроков (json dump или любой другой), чтобы их можно было импортировать и экспортировать в одной транзакции. Затем вы можете либо разрешить пользователям вручную передавать эти дампы, либо добавить API, который это сделает (в этом случае вы добавляете знания о демо-сервере в рабочий, что не всегда желательно с точки зрения архитектуры)

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