Является ли Seeding Data с помощью инструментов миграции баз данных, таких как Flyway, хорошей практикой?

Мы находимся в процессе настройки Flyway для нашего проекта, и у нас есть второе мнение о том, хотим ли мы заполнить данные с помощью миграции Flyway или вручную с помощью консоли sql или некоторого загрузочного скрипта.

Мы обеспокоены тем, что, если мы добавим данные в Flyway, это означает, что дальнейшие изменения этих данных также должны быть в Flyway. И нам, вероятно, нужно использовать "where field = x" или некоторые другие условия, которые могут быть недействительными в определенный момент времени, так как данные могут быть изменены приложением. И это будет проблематично.

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

Мне просто интересно, является ли хорошей идеей заполнение данных с помощью инструментов миграции, таких как Flyway.

1 ответ

Решение

Лучше всего подходят справочные данные, где ответом будет "да". для данных, изменяемых пользователем, это зависит. Если эти данные нужны изначально во всех средах, то ответ, вероятно, также да. В конце концов, если условие where больше не выполняется в определенной среде позже, это, вероятно, также означает, что вы все равно не хотите перезаписывать эти данные. Или вам нужно назначить фиксированные синтетические и неизменяемые идентификаторы для всех строк, к которым вы всегда сможете обратиться позже, даже перед лицом изменений данных.

Другие вопросы по тегам