migrations sync fix
This commit is contained in:
+6
-11
@@ -1,13 +1,13 @@
|
||||
from logging.config import fileConfig
|
||||
|
||||
from alembic import context
|
||||
from sqlalchemy import create_engine, pool
|
||||
|
||||
from src.models.database_models import Model
|
||||
from src.models.database_models.model import engine
|
||||
|
||||
from sqlalchemy import engine_from_config
|
||||
from sqlalchemy import pool
|
||||
|
||||
from alembic import context
|
||||
sync_url = engine.url.render_as_string(hide_password=False).replace("+aiosqlite", "")
|
||||
sync_engine = create_engine(sync_url, poolclass=pool.NullPool)
|
||||
|
||||
# this is the Alembic Config object, which provides
|
||||
# access to the values within the .ini file in use.
|
||||
@@ -23,7 +23,7 @@ if config.config_file_name is not None:
|
||||
# from myapp import mymodel
|
||||
# target_metadata = mymodel.Base.metadata
|
||||
target_metadata = Model.metadata
|
||||
config.set_main_option("sqlalchemy.url", engine.url.render_as_string(hide_password=False))
|
||||
config.set_main_option("sqlalchemy.url", sync_url)
|
||||
|
||||
# other values from the config, defined by the needs of env.py,
|
||||
# can be acquired:
|
||||
@@ -62,13 +62,8 @@ def run_migrations_online() -> None:
|
||||
and associate a connection with the context.
|
||||
|
||||
"""
|
||||
connectable = engine_from_config(
|
||||
config.get_section(config.config_ini_section, {}),
|
||||
prefix="sqlalchemy.",
|
||||
poolclass=pool.NullPool,
|
||||
)
|
||||
|
||||
with connectable.connect() as connection:
|
||||
with sync_engine.connect() as connection:
|
||||
context.configure(
|
||||
connection=connection, target_metadata=target_metadata, render_as_batch=True
|
||||
)
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
"""empty message
|
||||
|
||||
Revision ID: ebe80cd28822
|
||||
Revises: 74814eb1b7f8
|
||||
Create Date: 2026-08-21 13:52:49.788041
|
||||
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = 'ebe80cd28822'
|
||||
down_revision: Union[str, Sequence[str], None] = '74814eb1b7f8'
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
"""Upgrade schema."""
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('user_direct_permissions', schema=None) as batch_op:
|
||||
batch_op.drop_constraint(batch_op.f('fk_user_direct_permissions_user_id_users'), type_='foreignkey')
|
||||
batch_op.create_foreign_key(batch_op.f('fk_user_direct_permissions_user_id_users'), 'users', ['user_id'], ['id'], ondelete='CASCADE')
|
||||
|
||||
with op.batch_alter_table('user_group', schema=None) as batch_op:
|
||||
batch_op.drop_constraint(batch_op.f('fk_user_group_user_id_users'), type_='foreignkey')
|
||||
batch_op.create_foreign_key(batch_op.f('fk_user_group_user_id_users'), 'users', ['user_id'], ['id'], ondelete='CASCADE')
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
"""Downgrade schema."""
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('user_group', schema=None) as batch_op:
|
||||
batch_op.drop_constraint(batch_op.f('fk_user_group_user_id_users'), type_='foreignkey')
|
||||
batch_op.create_foreign_key(batch_op.f('fk_user_group_user_id_users'), 'users', ['user_id'], ['id'])
|
||||
|
||||
with op.batch_alter_table('user_direct_permissions', schema=None) as batch_op:
|
||||
batch_op.drop_constraint(batch_op.f('fk_user_direct_permissions_user_id_users'), type_='foreignkey')
|
||||
batch_op.create_foreign_key(batch_op.f('fk_user_direct_permissions_user_id_users'), 'users', ['user_id'], ['id'])
|
||||
|
||||
# ### end Alembic commands ###
|
||||
@@ -75,14 +75,14 @@ class Permissions(Model):
|
||||
user_group_of_permissions=Table(
|
||||
"user_group",
|
||||
Model.metadata,
|
||||
Column("user_id", ForeignKey("users.id"), primary_key=True),
|
||||
Column("user_id", ForeignKey("users.id", ondelete="CASCADE"), primary_key=True),
|
||||
Column("permission_group_id", ForeignKey("groups_of_permissions.id"), primary_key=True)
|
||||
)
|
||||
|
||||
user_permission=Table(
|
||||
"user_direct_permissions",
|
||||
Model.metadata,
|
||||
Column("user_id",ForeignKey("users.id"), primary_key=True),
|
||||
Column("user_id",ForeignKey("users.id", ondelete="CASCADE"), primary_key=True),
|
||||
Column("permission_id", ForeignKey("permissions.id"), primary_key=True)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user