Мигратор. Зачем и нафига? (2)
Но кроме личных личных и развлекательных мотивов есть еще и мотивы исключительно утилитарные.
1) Я выбрал SQlite как базу для проекта.
2) Предполагается, что каждый пользователь будет иметь свою собственную базу со своими данными. У этого много плюсов, но и минусов достаточно.
3) У меня должна быть и база данных на уровне всего проекта — например хранить список зарегистрированных пользователей.
Итого
Много маленьких баз данных с разными типами таблиц в зависимости от назначения.
Мигратор должен
1) Запускаться с указанием разных каталогов из которых будут браться миграции.
2) Уметь контролировать выполенные миграции, уметь откатывать их, уметь строить схему.
3) Уметь запускаться и как скрипт из консоли и как функция при работе самого проекта. — я предполагаю запускать проверку на структуру БД при запуске каждой сессии.
Из доступных вариантов на JavaScript я нашел только sequelize/umzug, но он настолько простой, что было и надежнее и веселее написать свой.
Post #822
51

- 👍 1