schema changes, part #2
This commit is contained in:
parent
073b8f2367
commit
1987fae304
2 changed files with 314 additions and 2 deletions
312
alembic/versions/ebde30d24167_.py
Normal file
312
alembic/versions/ebde30d24167_.py
Normal file
|
|
@ -0,0 +1,312 @@
|
|||
"""empty message
|
||||
|
||||
Revision ID: ebde30d24167
|
||||
Revises: ae0587e14725
|
||||
Create Date: 2025-10-10 19:01:04.309127
|
||||
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = 'ebde30d24167'
|
||||
down_revision: Union[str, None] = None
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table('pagepolicy',
|
||||
sa.Column('id', mysql.INTEGER(display_width=11), autoincrement=True, nullable=False),
|
||||
sa.Column('page_id', mysql.INTEGER(display_width=11), autoincrement=False, nullable=True),
|
||||
sa.Column('type', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False),
|
||||
sa.Column('key_id', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False),
|
||||
sa.Column('sitewide', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False),
|
||||
sa.ForeignKeyConstraint(['key_id'], ['pagepolicykey.id'], name='pagepolicy_FK_0_0'),
|
||||
sa.ForeignKeyConstraint(['page_id'], ['page.id'], name='pagepolicy_FK_1_0'),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
mariadb_collate='utf8mb4_general_ci',
|
||||
mariadb_default_charset='utf8mb4',
|
||||
mariadb_engine='InnoDB'
|
||||
)
|
||||
op.create_index('pagepolicy_page_id_key_id', 'pagepolicy', ['page_id', 'key_id'], unique=True)
|
||||
op.create_index('pagepolicy_page_id', 'pagepolicy', ['page_id'], unique=False)
|
||||
op.create_index('pagepolicy_key_id', 'pagepolicy', ['key_id'], unique=False)
|
||||
op.create_table('pagepolicykey',
|
||||
sa.Column('id', mysql.INTEGER(display_width=11), autoincrement=True, nullable=False),
|
||||
sa.Column('passphrase', mysql.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('sec_code', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
mariadb_collate='utf8mb4_general_ci',
|
||||
mariadb_default_charset='utf8mb4',
|
||||
mariadb_engine='InnoDB'
|
||||
)
|
||||
op.alter_column('page', 'title',
|
||||
existing_type=mysql.VARCHAR(length=256),
|
||||
nullable=True)
|
||||
op.alter_column('page', 'touched',
|
||||
existing_type=mysql.DATETIME(),
|
||||
nullable=True)
|
||||
op.alter_column('page', 'flags',
|
||||
existing_type=mysql.BIGINT(display_width=20),
|
||||
nullable=True)
|
||||
op.drop_index('page_calendar', table_name='page')
|
||||
op.drop_index('page_owner', table_name='page')
|
||||
op.drop_index('page_title', table_name='page')
|
||||
op.drop_index('page_touched', table_name='page')
|
||||
op.create_index(op.f('ix_page_title'), 'page', ['title'], unique=False)
|
||||
op.create_index(op.f('ix_page_touched'), 'page', ['touched'], unique=False)
|
||||
op.alter_column('pagelink', 'from_page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('pagelink', 'to_page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.drop_constraint('pagelink_ibfk_2', 'pagelink', type_='foreignkey')
|
||||
op.drop_constraint('pagelink_ibfk_1', 'pagelink', type_='foreignkey')
|
||||
op.create_foreign_key(None, 'pagelink', 'page', ['from_page_id'], ['id'])
|
||||
op.create_foreign_key(None, 'pagelink', 'page', ['to_page_id'], ['id'])
|
||||
op.alter_column('pagepermission', 'page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('pagepermission', 'group_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('pagepermission', 'permissions',
|
||||
existing_type=mysql.BIGINT(display_width=20),
|
||||
nullable=True)
|
||||
op.drop_constraint('pagepermission_ibfk_4', 'pagepermission', type_='foreignkey')
|
||||
op.drop_constraint('pagepermission_ibfk_5', 'pagepermission', type_='foreignkey')
|
||||
op.create_foreign_key(None, 'pagepermission', 'usergroup', ['group_id'], ['id'])
|
||||
op.create_foreign_key(None, 'pagepermission', 'page', ['page_id'], ['id'])
|
||||
op.alter_column('pageproperty', 'page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('pageproperty', 'key',
|
||||
existing_type=mysql.VARCHAR(length=64),
|
||||
nullable=True)
|
||||
op.alter_column('pageproperty', 'value',
|
||||
existing_type=mysql.VARCHAR(length=8000),
|
||||
nullable=True)
|
||||
op.alter_column('pagerevision', 'page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('pagerevision', 'comment',
|
||||
existing_type=mysql.VARCHAR(length=1024),
|
||||
nullable=True)
|
||||
op.alter_column('pagerevision', 'textref_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('pagerevision', 'pub_date',
|
||||
existing_type=mysql.DATETIME(),
|
||||
nullable=True)
|
||||
op.alter_column('pagerevision', 'length',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.drop_constraint('pagerevision_ibfk_1', 'pagerevision', type_='foreignkey')
|
||||
op.drop_constraint('pagerevision_ibfk_2', 'pagerevision', type_='foreignkey')
|
||||
op.drop_constraint('pagerevision_ibfk_3', 'pagerevision', type_='foreignkey')
|
||||
op.create_foreign_key(None, 'pagerevision', 'pagetext', ['textref_id'], ['id'])
|
||||
op.create_foreign_key(None, 'pagerevision', 'page', ['page_id'], ['id'])
|
||||
op.create_foreign_key(None, 'pagerevision', 'user', ['user_id'], ['id'])
|
||||
op.alter_column('pagetag', 'page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('pagetag', 'name',
|
||||
existing_type=mysql.VARCHAR(length=64),
|
||||
nullable=True)
|
||||
op.drop_constraint('pagetag_ibfk_1', 'pagetag', type_='foreignkey')
|
||||
op.create_foreign_key(None, 'pagetag', 'page', ['page_id'], ['id'])
|
||||
op.alter_column('pagetext', 'content',
|
||||
existing_type=sa.BLOB(),
|
||||
nullable=True)
|
||||
op.alter_column('pagetext', 'flags',
|
||||
existing_type=mysql.BIGINT(display_width=20),
|
||||
nullable=True)
|
||||
op.add_column('user', sa.Column('privileges', sa.BigInteger(), nullable=True))
|
||||
op.add_column('user', sa.Column('restrictions', sa.BigInteger(), nullable=True))
|
||||
op.alter_column('user', 'username',
|
||||
existing_type=mysql.VARCHAR(length=32),
|
||||
nullable=True)
|
||||
op.alter_column('user', 'password',
|
||||
existing_type=mysql.VARCHAR(length=255),
|
||||
nullable=True)
|
||||
op.alter_column('user', 'join_date',
|
||||
existing_type=mysql.DATETIME(),
|
||||
nullable=True)
|
||||
op.alter_column('user', 'karma',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.drop_column('user', 'is_disabled')
|
||||
op.drop_column('user', 'is_admin')
|
||||
op.drop_column('user', 'color_theme')
|
||||
op.alter_column('usergroup', 'name',
|
||||
existing_type=mysql.VARCHAR(length=32),
|
||||
nullable=True)
|
||||
op.alter_column('usergroup', 'permissions',
|
||||
existing_type=mysql.BIGINT(display_width=20),
|
||||
nullable=True)
|
||||
op.alter_column('usergroupmembership', 'user_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('usergroupmembership', 'group_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=True)
|
||||
op.alter_column('usergroupmembership', 'since',
|
||||
existing_type=mysql.DATETIME(),
|
||||
nullable=True)
|
||||
op.drop_index('usergroupmembership_group_id', table_name='usergroupmembership')
|
||||
op.drop_index('usergroupmembership_user_id', table_name='usergroupmembership')
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_index('usergroupmembership_user_id', 'usergroupmembership', ['user_id'], unique=False)
|
||||
op.create_index('usergroupmembership_group_id', 'usergroupmembership', ['group_id'], unique=False)
|
||||
op.alter_column('usergroupmembership', 'since',
|
||||
existing_type=mysql.DATETIME(),
|
||||
nullable=False)
|
||||
op.alter_column('usergroupmembership', 'group_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.alter_column('usergroupmembership', 'user_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.alter_column('usergroup', 'permissions',
|
||||
existing_type=mysql.BIGINT(display_width=20),
|
||||
nullable=False)
|
||||
op.alter_column('usergroup', 'name',
|
||||
existing_type=mysql.VARCHAR(length=32),
|
||||
nullable=False)
|
||||
op.add_column('user', sa.Column('color_theme', mysql.SMALLINT(display_width=6), server_default=sa.text('0'), autoincrement=False, nullable=False))
|
||||
op.add_column('user', sa.Column('is_admin', mysql.TINYINT(display_width=1), server_default=sa.text('0'), autoincrement=False, nullable=False))
|
||||
op.add_column('user', sa.Column('is_disabled', mysql.TINYINT(display_width=1), server_default=sa.text('0'), autoincrement=False, nullable=False))
|
||||
op.alter_column('user', 'karma',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.alter_column('user', 'join_date',
|
||||
existing_type=mysql.DATETIME(),
|
||||
nullable=False)
|
||||
op.alter_column('user', 'password',
|
||||
existing_type=mysql.VARCHAR(length=255),
|
||||
nullable=False)
|
||||
op.alter_column('user', 'username',
|
||||
existing_type=mysql.VARCHAR(length=32),
|
||||
nullable=False)
|
||||
op.drop_column('user', 'restrictions')
|
||||
op.drop_column('user', 'privileges')
|
||||
op.alter_column('pagetext', 'flags',
|
||||
existing_type=mysql.BIGINT(display_width=20),
|
||||
nullable=False)
|
||||
op.alter_column('pagetext', 'content',
|
||||
existing_type=sa.BLOB(),
|
||||
nullable=False)
|
||||
op.drop_constraint(None, 'pagetag', type_='foreignkey')
|
||||
op.create_foreign_key('pagetag_ibfk_1', 'pagetag', 'page', ['page_id'], ['id'], ondelete='CASCADE')
|
||||
op.alter_column('pagetag', 'name',
|
||||
existing_type=mysql.VARCHAR(length=64),
|
||||
nullable=False)
|
||||
op.alter_column('pagetag', 'page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.drop_constraint(None, 'pagerevision', type_='foreignkey')
|
||||
op.drop_constraint(None, 'pagerevision', type_='foreignkey')
|
||||
op.drop_constraint(None, 'pagerevision', type_='foreignkey')
|
||||
op.create_foreign_key('pagerevision_ibfk_3', 'pagerevision', 'user', ['user_id'], ['id'], ondelete='SET NULL')
|
||||
op.create_foreign_key('pagerevision_ibfk_2', 'pagerevision', 'page', ['page_id'], ['id'], ondelete='CASCADE')
|
||||
op.create_foreign_key('pagerevision_ibfk_1', 'pagerevision', 'pagetext', ['textref_id'], ['id'], ondelete='CASCADE')
|
||||
op.alter_column('pagerevision', 'length',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.alter_column('pagerevision', 'pub_date',
|
||||
existing_type=mysql.DATETIME(),
|
||||
nullable=False)
|
||||
op.alter_column('pagerevision', 'textref_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.alter_column('pagerevision', 'comment',
|
||||
existing_type=mysql.VARCHAR(length=1024),
|
||||
nullable=False)
|
||||
op.alter_column('pagerevision', 'page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.alter_column('pageproperty', 'value',
|
||||
existing_type=mysql.VARCHAR(length=8000),
|
||||
nullable=False)
|
||||
op.alter_column('pageproperty', 'key',
|
||||
existing_type=mysql.VARCHAR(length=64),
|
||||
nullable=False)
|
||||
op.alter_column('pageproperty', 'page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.drop_constraint(None, 'pagepermission', type_='foreignkey')
|
||||
op.drop_constraint(None, 'pagepermission', type_='foreignkey')
|
||||
op.create_foreign_key('pagepermission_ibfk_5', 'pagepermission', 'usergroup', ['group_id'], ['id'], ondelete='CASCADE')
|
||||
op.create_foreign_key('pagepermission_ibfk_4', 'pagepermission', 'page', ['page_id'], ['id'], ondelete='CASCADE')
|
||||
op.alter_column('pagepermission', 'permissions',
|
||||
existing_type=mysql.BIGINT(display_width=20),
|
||||
nullable=False)
|
||||
op.alter_column('pagepermission', 'group_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.alter_column('pagepermission', 'page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.drop_constraint(None, 'pagelink', type_='foreignkey')
|
||||
op.drop_constraint(None, 'pagelink', type_='foreignkey')
|
||||
op.create_foreign_key('pagelink_ibfk_1', 'pagelink', 'page', ['to_page_id'], ['id'], ondelete='CASCADE')
|
||||
op.create_foreign_key('pagelink_ibfk_2', 'pagelink', 'page', ['from_page_id'], ['id'], ondelete='CASCADE')
|
||||
op.alter_column('pagelink', 'to_page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.alter_column('pagelink', 'from_page_id',
|
||||
existing_type=mysql.INTEGER(display_width=11),
|
||||
nullable=False)
|
||||
op.drop_index(op.f('ix_page_touched'), table_name='page')
|
||||
op.drop_index(op.f('ix_page_title'), table_name='page')
|
||||
op.create_index('page_touched', 'page', ['touched'], unique=False)
|
||||
op.create_index('page_title', 'page', ['title'], unique=False)
|
||||
op.create_index('page_owner', 'page', ['owner_id'], unique=False)
|
||||
op.create_index('page_calendar', 'page', ['calendar'], unique=False)
|
||||
op.alter_column('page', 'flags',
|
||||
existing_type=mysql.BIGINT(display_width=20),
|
||||
nullable=False)
|
||||
op.alter_column('page', 'touched',
|
||||
existing_type=mysql.DATETIME(),
|
||||
nullable=False)
|
||||
op.alter_column('page', 'title',
|
||||
existing_type=mysql.VARCHAR(length=256),
|
||||
nullable=False)
|
||||
op.create_table('upload',
|
||||
sa.Column('id', mysql.INTEGER(display_width=11), autoincrement=True, nullable=False),
|
||||
sa.Column('name', mysql.VARCHAR(length=256), nullable=False),
|
||||
sa.Column('url_name', mysql.VARCHAR(length=256), nullable=True),
|
||||
sa.Column('filetype', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False),
|
||||
sa.Column('filesize', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False),
|
||||
sa.Column('upload_date', mysql.DATETIME(), nullable=False),
|
||||
sa.Column('md5', mysql.VARCHAR(length=32), nullable=False),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
mariadb_collate='utf8mb4_general_ci',
|
||||
mariadb_default_charset='utf8mb4',
|
||||
mariadb_engine='InnoDB'
|
||||
)
|
||||
op.create_index('upload_upload_date', 'upload', ['upload_date'], unique=False)
|
||||
op.create_index('upload_md5', 'upload', ['md5'], unique=False)
|
||||
try:
|
||||
## drop tables removed in 0.x
|
||||
op.drop_table('pagepolicykey')
|
||||
op.drop_index('pagepolicy_key_id', table_name='pagepolicy')
|
||||
op.drop_index('pagepolicy_page_id', table_name='pagepolicy')
|
||||
op.drop_index('pagepolicy_page_id_key_id', table_name='pagepolicy')
|
||||
op.drop_table('pagepolicy')
|
||||
op.drop_index('upload_md5', table_name='upload')
|
||||
op.drop_index('upload_upload_date', table_name='upload')
|
||||
op.drop_table('upload')
|
||||
except Exception:
|
||||
pass
|
||||
# ### end Alembic commands ###
|
||||
Loading…
Add table
Add a link
Reference in a new issue