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 соответственно, что поощряет вклад сообщества для дальнейшего расширения функционала.


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

18791Почему на склоне холма в Линкольншире был зарыт уникальный клад англосаксонского золота? 18790Почему «снежная каша» в недрах титана может оказаться лучшим местом для жизни, чем... 18789Почему истинное понимание сложных когнитивных функций мозга требует выхода науки за... 18788Шерстяная одежда жертв Везувия оживила споры о дате гибели Помпей 18787Способна ли контекстная киберразведка превратить работу SOC из реагирования на инциденты... 18786Тысячи пользователей Firefox стали жертвами скрытой вредоносной кампании GhostPoster 18785Древние пчелы использовали кости мертвых грызунов для создания многоуровневых гнезд 18784Как устроен обнаруженный учеными навигационный «тумблер» в мозгу и поможет ли он в... 18783Что скрывали под водой руины солнечного храма фараона ниусера и обнаруженный там... 18782Что рассказала астрономам самая далекая сверхновая GRB 250314A? 18781Как злоумышленники захватывают облака AWS для майнинга всего за 10 минут? 18780Космическая бабочка региона Idaeus Fossae как доказательство водного прошлого Марса 18779Феноменальный взлет стартапа Mercor до оценки в 10 миллиардов долларов за счет... 18778Внедрение защиты данных и конфиденциальности непосредственно в процесс написания... 18777Критический обход аутентификации SAML SSO в устройствах Fortinet FortiGate под активной...