1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dog-flyway-js

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Реализация логики обновления базы данных, подобной Flyway, с использованием Node.js

Реализовать логику обновления базы данных, подобную Flyway, используя Node.JS и Sequelize.JS для выполнения сценариев базы данных. Теоретически, можно использовать все базы данных, поддерживаемые Sequelize.

Установка

     yarn add flyway-js 
     # или npm i flyway-js -S

Использование

    import FlywayJs from "flywaj-js";
    // Подключение к базе данных
    const db_url = process.env.DB_URL;
    // Путь к SQL или TS/JS файлам
    const sql_dir = process.cwd()+'/test/sql'
    async function main() {
        await new FlywayJs(db_url, sql_dir).run();
    }

    // Если необходимо отключить проверку хэша файлов, передайте параметры options
    let options = {
        allowHashNotMatch: true,
    }
    // Если force_init равно true, то таблица flyway_js будет создаваться при каждом запросе. Это полезно для тестирования, но не рекомендуется для продакшена. Для тестирования установите значение true, для продакшена — false.
    let force_init = true;
    new FlywayJs(db_url, sql_dir, force_init, options).run();

Требования к SQL, TS или JS файлам

  • SQL файлы будут выполняться напрямую.
  • Файлы TS или JS будут требовать файл и выполнять функцию по умолчанию. Функция экспорта должна иметь следующий формат:
export default function(db: Sequelize, t: sequelize.Transaction) {
    // Обработка логики базы данных. Если требуется обработка транзакций, можно передать t туда, где это необходимо.    
}

Тестирование

    npx mocha

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Реализация на Node.js: логика обновления базы данных, аналогичная Flyway, с использованием Sequelize.js для выполнения скриптов базы данных. Теоретически, можно использовать любую базу данных, поддерживаемую Sequelize. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/dog-flyway-js.git
git@api.gitlife.ru:oschina-mirror/dog-flyway-js.git
oschina-mirror
dog-flyway-js
dog-flyway-js
master