Кочевник это менеджер по миграции, написанный на Python. Это просто по сравнению с такими вещами, как Alembic, полагаясь на простые файлы скриптов SQL с сопутствующими метаданными для контроля секвенирования.
Одной из самых необычных функций кочевника является то, что он обеспечивает только «вверх» миграцию, а не обычные изменения вверх и вниз.
В кочевнике миграция «вниз» – это просто «UP» миграция, которая приводит вас к предыдущей структуре. Это понимание должно быть скопировано больше, так как относительно редко, что вы когда -либо делаете миграцию. По моему опыту, они, как правило, происходят в разработке, когда вы понимаете, что совершили ошибку и сбросили базу данных, прежде чем исправить миграцию и повторное выполнение. В Nomad, когда возникает эта ситуация, вы создадите новую миграцию, чтобы исправить ошибку, а затем применить всю последовательность миграции к производству.
Я нахожу это превосходным прозрачным, но для многих людей, которые продолжают «ошибки» в кодовой базе, сделают их очень несчастными.
Nomad сохраняет сведения об подключении к базе данных в файле INI, который может считывать переменные среды, поэтому вы, вероятно, хотите использовать файл DotenV, исключенный из управления источником, для предоставления деталей соединения.
После того, как вы это сделаете, COMAD CLI предоставляет довольно простой интерфейс для создания новых миграций (с дополнительными зависимостями), применить индивидуальную миграцию или применить все причитающиеся миграции.
Поскольку Nomad полагается на простое выполнение файла SQL, связанного с миграцией, он является относительно функциональным светом, и создание миграций просто означает написание соответствующего DDL SQL для вашей базы данных (здесь нет функций портативности, несмотря на использование SQLalchemy под капотом).
Единственная проблема, с которой я использовал Nomad, – это действительно получение начальной конфигурации для работы. После этого он был довольно гладким, и полученный SQL был гораздо более общим между моими хобби-проектами, чем другие инструменты миграции на основе DSL.
Оригинал: “https://dev.to/rrees/nomad-migration-manager-54n3”