Metadata-Version: 2.1
Name: classic-migrations
Version: 0.0.10
Summary: Database migrations with SQL
Home-page: https://github.com/variasov/classic-migrations
Author: Kazakovtsev Nikolay
Author-email: acidos@yandex.ru
License: Apache
Keywords: migrations migrate database alembic south
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Database
Classifier: Topic :: Database :: Front-Ends
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Version Control
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: sqlparse
Requires-Dist: tabulate
Requires-Dist: importlib_metadata>=3.6.0
Requires-Dist: pydantic-settings~=2.6
Requires-Dist: pydantic~=2.10.2
Provides-Extra: mysql
Requires-Dist: PyMySQL; extra == "mysql"
Provides-Extra: postgres
Requires-Dist: psycopg2-binary==2.9.9; extra == "postgres"
Provides-Extra: pyodbc
Requires-Dist: pyodbc; extra == "pyodbc"
Provides-Extra: pymssql
Requires-Dist: pymssql==2.3.1; extra == "pymssql"

==================
classic-migrations
==================

Проект является форком yoyo-migrations
https://ollycope.com/software/yoyo/latest/

Компонент позволяет работать с миграциями баз данных posgtresql и mssql с использованием файлов sql

Установка
---------

При установке компонента для миграций в postgres, можно использовать команду

 pip install classic-migrations[postgres]

для MSSQL

 pip install classic-migrations[pymssql]

Настройка
---------

Все настройки берутся из переменных окружения или .env файла

.env file:

#папка с файлами миграций

SOURCE=./migrations

#пакетный режим исполнения, при котором нет диалоговых вопросов

BATCH_MODE=on|off(default)

#уровень вывода информационных сообщений

VERBOSITY=0|1|2|3

#настройки подключения к базе

#драйвер

DATABASE_DRIVER=pymssql|postgres|pyodbc

#имя пользователя БД

DATABASE_USER=

#домен пользователя БД (опционально)

DATABASE_USER_DOMAIN=

#пароль

DATABASE_PASSWORD=

#хост

DATABASE_HOST=

#порт

DATABASE_PORT=

#имя БД

DATABASE_NAME=

Команды запуска
---------------

migrations list

migrations new --sql -m 'комментарий, который будет добавлен к имени файла'

migrations apply

migrations rollback

Для выполнения команды rollback, должен иметься .sql файл миграции, у которого между именем оригинального фала и расширением имеется вставка .rollback

Примечания
----------
В SQL файле миграции можно указать комментарий, который будет добавлен в таблицу истории миграций.

-- comment: текст комментария


