From e043ea2a8c3dfd779835f8fd35ffc8b4bcbe60db Mon Sep 17 00:00:00 2001 From: An Phan Date: Sat, 26 Oct 2024 20:29:43 -0700 Subject: [PATCH] ci: add alembic.ini --- .github/workflows/alembic.ini | 85 +++++++++++++++++++ .../workflows/install-lint-test-on-ubuntu.yml | 11 +-- 2 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/alembic.ini diff --git a/.github/workflows/alembic.ini b/.github/workflows/alembic.ini new file mode 100644 index 000000000..d515de166 --- /dev/null +++ b/.github/workflows/alembic.ini @@ -0,0 +1,85 @@ +# A generic, single database configuration. + +[alembic] +# path to migration scripts +script_location = alembic + +# template used to generate migration files +# file_template = %%(rev)s_%%(slug)s + +# timezone to use when rendering the date +# within the migration file as well as the filename. +# string value is passed to dateutil.tz.gettz() +# leave blank for localtime +# timezone = + +# max length of characters to apply to the +# "slug" field +# truncate_slug_length = 40 + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + +# set to 'true' to allow .pyc and .pyo files without +# a source .py file to be detected as revisions in the +# versions/ directory +# sourceless = false + +# version location specification; this defaults +# to alembic/versions. When using multiple version +# directories, initial revisions must be specified with --version-path +# version_locations = %(here)s/bar %(here)s/bat alembic/versions + +# the output encoding used when revision files +# are written from script.py.mako +# output_encoding = utf-8 + +sqlalchemy.url = mysql+pymysql://user:pass@localhost/dbname + + +[post_write_hooks] +# post_write_hooks defines scripts or Python functions that are run +# on newly generated revision scripts. See the documentation for further +# detail and examples + +# format using "black" - use the console_scripts runner, against the "black" entrypoint +# hooks=black +# black.type=console_scripts +# black.entrypoint=black +# black.options=-l 79 + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/.github/workflows/install-lint-test-on-ubuntu.yml b/.github/workflows/install-lint-test-on-ubuntu.yml index 906182004..0c42b0119 100644 --- a/.github/workflows/install-lint-test-on-ubuntu.yml +++ b/.github/workflows/install-lint-test-on-ubuntu.yml @@ -55,14 +55,9 @@ jobs: sleep 5 done - - name: Install MySQL Driver - run: pip install pymysql - - - name: Install Alembic - run: pip install alembic - - - name: Initialize Alembic - run: alembic init alembic + - name: Set up Alembic Configuration + run: | + cp .github/workflow/alembic.ini . - name: Run Migrations run: |