Ssylka

Легковесный мигратор PostgreSQL на TypeScript

Разработчики, использующие Node.js, часто сталкиваются с необходимостью мигрировать базы данных PostgreSQL. Традиционный подход с использованием Java-утилиты Flyway может приводить к увеличению размера Docker-образов из-за включения JVM. Альтернативные Node.js миграторы не всегда соответствуют требованиям, особенно при использовании специфических функций Flyway, таких как повторяемые миграции и хуки-коллбэки.
Легковесный мигратор PostgreSQL на TypeScript
Изображение носит иллюстративный характер

Для решения этой проблемы создан легковесный клон Flyway для PostgreSQL, написанный на TypeScript. Инструмент поддерживает стандартные миграции, повторяемые миграции и хуки-коллбэки (частично). Также реализовано ведение истории миграций, что позволяет отслеживать изменения. Реализованы команды create, migrate, info и dry run в стиле оригинального Flyway, но не реализованы baseline, undo, script миграции и обработка транзакций.

Пример использования включает создание, применение и просмотр миграций. Для начала работы достаточно запустить PostgreSQL в Docker, создать миграцию с помощью npx pg-flyway create, заполнить ее SQL-кодом, применить с помощью npx pg-flyway migrate и просмотреть историю с помощью npx pg-flyway info.

Разработчики могут использовать данный инструмент для упрощения процесса миграции PostgreSQL в Node.js-проектах, избегая зависимости от JVM. Исходный код и утилита доступны в репозитории GitHub и NPM соответственно, что поощряет вклад сообщества для дальнейшего расширения функционала.


Новое на сайте

19092Древние фракийцы почитали собачье мясо как ритуальный деликатес 19091О чем расскажет уникальный инструмент из кости слона возрастом 480 000 лет? 19090Спонтанное формирование личности искусственного интеллекта на основе потребностей и... 19089Почему появление миллиона гуманоидных роботов Optimus угрожает нашей способности понимать... 19088Почему наш мозг намеренно скрывает от нас собственный нос? 19087Почему CISA экстренно внесла критическую уязвимость VMware vCenter Server в каталог... 19086Почему наука окончательно отвергла ледниковую теорию перемещения камней Стоунхенджа? 19085Превращение легального IT-инструментария в бэкдор через фишинговую кампанию Greenvelope 19084CISA обновляет каталог KEV четырьмя критическими уязвимостями с директивой по устранению... 19083Как найденные в Бразилии древние гарпуны опровергли теорию о полярном происхождении... 19082Стратегия выбора идеального осушителя воздуха для любых домашних условий 19081Геологические свидетельства подтвердили существование обширного древнего океана в... 19080Масштабная фишинговая кампания против энергетического сектора и эволюция техник... 19079Экспериментальная терапия «губкой боли» восстанавливает хрящи и блокирует сигналы... 19078Сможет ли новая таблетка Wegovy заменить инъекции для лечения ожирения?