Во всяком случае, в GORM для предварительного просмотра схемы DDL, которая будет работать во время миграции, перед ее запуском? - PullRequest
0 голосов
/ 22 апреля 2020

Мы используем Golang и GORM для миграции ORM и схемы базы данных. Использование defautl AUtoMigrate удобно для добавления таблиц / столбцов / индексов, которые являются net новыми. Одна большая проблема с Postgres, в частности AWS AUrora Postgres, заключается в том, что кажется, что даже простой столбец добавления таблицы изменений без значений по умолчанию и без нулевых ограничений все еще создает полный доступ к AccessExclusiveLock. Это вызвало у нас простои в производстве, так как в противном случае это развертываемая инфраструктура в любое время с нулевым временем простоя.

Postgres утверждает, что это не приведет к блокировке, но думаю, что у Авроры есть некоторые магические движки innodb c, которые, вероятно, вызывают один, вероятно для непротиворечивости реплики чтения?

В любом случае, в нашем скрипте развертывания оболочки мы пытаемся выяснить, можем ли мы попросить GORM предоставить нам DDL, который он будет запускать, как предварительный просмотр, без его запуска. В любом случае, чтобы сделать это?

...