Как стать автором
Обновить

Комментарии 6

Поэтому, лучше всего в качестве префикса использовать временную метку: создать миграции с одинаковой меткой секунда в секунду меткой маловероятно.

Маловероятно, но возможно.

<душнила>

Ради интереса попробую вспомнить теорвер: если считать создание миграции независимым событием, то вероятность создать миграцию в определённую секунду рабочего дня равна 1/8*60 (8 часовой рабочий день, 60 секунд в 1 часу).

Тогда вероятность создать две миграции двумя независимыми программистами в одну секунду будет 1/480 * 1/480 = 1/19200.

</душнила>

С 3600 секундами в 1 часу будет правильнее ;)

Я для себя решил, использовать отдельный специализированный софт для миграций по типу Flyway и Liquibase независимо от языка программирования проекта. Так можно унифицировать CI/CD и не искать отдельные решения для разных языков. Хотя в последнее время golang-migrate мне импонирует, так как он написан не на Java ))

У .sql миграций есть одна редкая, но критичная проблема - они не позволяют менять СУБД. Столкнулись с ней, когда в гос. секторе все начали переходить с Sql Server на Postgre. В нашем случае (.NET стек) миграции сохранить не удалось, интересно, есть ли инструменты, которые поддерживают миграции разных СУБД бесшовно?

Спасибо за статью))) в последнее время вместо типа serial пишу GENERATED ALWAYS AS IDENTITY

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации