diff --git a/.dockerignore b/.dockerignore index 899ec24..9f43dfe 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,5 +5,8 @@ # Каталог с данными **/data/ -.env* -.init* + +# Конфигурационные файлы +.env.db +.init.sql +.alembic.ini diff --git a/.gitignore b/.gitignore index 6936a56..63ff63d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ /config **/logs/ -.env* -.init* -alembic.ini +# Конфигурационные файлы +.env.db +.init.sql +.alembic.ini diff --git a/alembic.ini b/alembic.ini new file mode 100644 index 0000000..cbcb707 --- /dev/null +++ b/alembic.ini @@ -0,0 +1,74 @@ +# 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 = driver://user:pass@localhost/dbname +sqlalchemy.url = postgresql://appuser:BIGPASSWORD@db/myapp + +# 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/entrypoint.sh b/entrypoint.sh index e27e7b4..ca3c48c 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,4 +1,4 @@ #!/bin/sh -alembic upgrade head +alembic --config .alembic.ini upgrade head gunicorn -w 4 --bind=0.0.0.0 myapp:app