0

У меня есть вопрос, касающийся некоторых лучших практик и доступных инструментов, касающихся БД миграции (обновление дб схемы для следующего выпуска):Лучшие миграции практики База данных АМС OpsWorks/RDS

В настоящее время мы используем один сервер, на котором мы также принять наш MySQL база данных. Если мы хотим развернуть новую версию, мы перемещаем миграцию базы данных с кодом на сервер, где мы используем сценарий миграции, чтобы изменить базу данных и сохранить текущую развернутую миграцию (число) базы данных в файле. Теперь мы хотим переместить нашу систему на AWS и использовать преимущества горизонтального масштабирования. Мы не можем использовать наш текущий сценарий миграции базы данных с этой новой системой, поскольку несколько серверов будут обращаться к одной и той же базе данных (AWS RDS).

В конечном итоге мы хотим использовать AWS OpsWorks для управления сервером и установки новых серверов с помощью сценариев шеф-повара. Но я еще не нашел решения, как мы можем автоматически развертывать наши миграции баз данных в производственную базу данных. У вас есть подсказки или идеи?

Большое спасибо.

P.S. Я думаю, что это не должно быть необычной проблемой, но если я google «DB migration AWS», я всегда получаю услугу AWS для переноса базы данных с другого сервера на AWS, но это служит другой цели;)

ответ

1

Я использовал Fflyway для миграции в очень похожей конфигурации: https://flywaydb.org/

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

+0

Большое спасибо за ваш ответ. На каком сервере вы запустили бы миграцию, если у вас несколько веб-серверов? И как бы вы мешали, чтобы, если один сервер мигрировал db, другие серверы также не пытались перенести базу данных или пытаться ее получить? –

+0

Это не имеет значения. Первый сервер будет запускать миграцию, в то время как другой будет заблокирован. –

+1

См. Https://flywaydb.org/documentation/faq.html#parallel –