312 lines
16 KiB
Python
312 lines
16 KiB
Python
"""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 ###
|