Browse Source

♻️ removed postgres_password from alembic.ini (#9)

♻️ removed postgres_password from alembic.ini (#9)
pull/13907/head
Manu 6 years ago
committed by Sebastián Ramírez
parent
commit
bece399368
  1. 3
      {{cookiecutter.project_slug}}/backend/app/alembic.ini
  2. 17
      {{cookiecutter.project_slug}}/backend/app/alembic/env.py

3
{{cookiecutter.project_slug}}/backend/app/alembic.ini

@ -35,9 +35,6 @@ script_location = alembic
# are written from script.py.mako # are written from script.py.mako
# output_encoding = utf-8 # output_encoding = utf-8
sqlalchemy.url = postgresql://postgres:{{cookiecutter.postgres_password}}@db/app
# Logging configuration # Logging configuration
[loggers] [loggers]
keys = root,sqlalchemy,alembic keys = root,sqlalchemy,alembic

17
{{cookiecutter.project_slug}}/backend/app/alembic/env.py

@ -1,4 +1,7 @@
from __future__ import with_statement from __future__ import with_statement
import os
from alembic import context from alembic import context
from sqlalchemy import engine_from_config, pool from sqlalchemy import engine_from_config, pool
from logging.config import fileConfig from logging.config import fileConfig
@ -27,6 +30,14 @@ target_metadata = Base.metadata
# ... etc. # ... etc.
def get_url():
user = os.getenv("POSTGRES_USER", "postgres")
password = os.getenv("POSTGRES_PASSWORD", "")
server = os.getenv("POSTGRES_SERVER", "db")
db = os.getenv("POSTGRES_DB", "app")
return f"postgresql://{user}:{password}@{server}/{db}"
def run_migrations_offline(): def run_migrations_offline():
"""Run migrations in 'offline' mode. """Run migrations in 'offline' mode.
@ -39,7 +50,7 @@ def run_migrations_offline():
script output. script output.
""" """
url = config.get_main_option("sqlalchemy.url") url = get_url()
context.configure( context.configure(
url=url, target_metadata=target_metadata, literal_binds=True, compare_type=True url=url, target_metadata=target_metadata, literal_binds=True, compare_type=True
) )
@ -55,8 +66,10 @@ def run_migrations_online():
and associate a connection with the context. and associate a connection with the context.
""" """
configuration = config.get_section(config.config_ini_section)
configuration['sqlalchemy.url'] = get_url()
connectable = engine_from_config( connectable = engine_from_config(
config.get_section(config.config_ini_section), configuration,
prefix="sqlalchemy.", prefix="sqlalchemy.",
poolclass=pool.NullPool, poolclass=pool.NullPool,
) )

Loading…
Cancel
Save