Added registration migration

This commit is contained in:
Gardient
2021-09-22 19:36:41 +03:00
parent e52e911337
commit 99b090462e
2 changed files with 49 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
from flask import Flask, Blueprint from flask import Flask, Blueprint
from . import commands, login, target_exchange, target from . import commands, login, target_exchange, target, registration
from .exceptions import ApiException from .exceptions import ApiException
from .extensions import db, migrate, jwt, apispec from .extensions import db, migrate, jwt, apispec
from .settings import ProdConfig, Config from .settings import ProdConfig, Config
@@ -10,7 +10,7 @@ def create_app(config: Config = ProdConfig) -> Flask:
"""An application factory, as explained here: """An application factory, as explained here:
http://flask.pocoo.org/docs/patterns/appfactories/. http://flask.pocoo.org/docs/patterns/appfactories/.
:param config_object: The configuration object to use. :param config: The configuration object to use.
""" """
app = Flask(__name__.split('.')[0]) app = Flask(__name__.split('.')[0])
app.url_map.strict_slashes = False app.url_map.strict_slashes = False
@@ -37,12 +37,10 @@ def register_blueprints(app: Flask):
"""Register Flask blueprints.""" """Register Flask blueprints."""
api_blueprint = Blueprint('api', __name__, url_prefix='/api') api_blueprint = Blueprint('api', __name__, url_prefix='/api')
api_blueprint.register_blueprint( api_blueprint.register_blueprint(login.views.blueprint, url_prefix='/login')
login.views.blueprint, url_prefix='/login') api_blueprint.register_blueprint(target_exchange.views.blueprint, url_prefix='/target-exchange')
api_blueprint.register_blueprint( api_blueprint.register_blueprint(target.views.blueprint, url_prefix='/target')
target_exchange.views.blueprint, url_prefix='/target-exchange') api_blueprint.register_blueprint(registration.views.blueprint, url_prefix='/registration')
api_blueprint.register_blueprint(
target.views.blueprint, url_prefix='/target')
app.register_blueprint(api_blueprint) app.register_blueprint(api_blueprint)
@@ -85,7 +83,8 @@ def register_shellcontext(app: Flask):
return { return {
'db': db, 'db': db,
'TargetExchange': target_exchange.models.TargetExchange, 'TargetExchange': target_exchange.models.TargetExchange,
'Target': target.models.Target 'Target': target.models.Target,
'Registration': registration.models.Registration,
} }
app.shell_context_processor(shell_context) app.shell_context_processor(shell_context)

View File

@@ -0,0 +1,41 @@
"""added registrations
Revision ID: 5dfa048b8215
Revises: 294a2085f840
Create Date: 2021-09-22 19:35:23.584306
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '5dfa048b8215'
down_revision = '294a2085f840'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('registration',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('name', sa.String(length=255), nullable=False),
sa.Column('routing_key', sa.String(length=255), nullable=False),
sa.PrimaryKeyConstraint('id'),
sa.UniqueConstraint('name')
)
op.create_table('registration_target',
sa.Column('registration', sa.Integer(), nullable=True),
sa.Column('target', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['registration'], ['target.id'], ),
sa.ForeignKeyConstraint(['target'], ['registration.id'], )
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('registration_target')
op.drop_table('registration')
# ### end Alembic commands ###