refac
This commit is contained in:
1 parent
bd9f82d5a6
commit
459b1c3fda
2 files changed
+62
-52
No files matched your search
@@ -19,36 +19,39 @@ depends_on: Union[str, Sequence[str], None] = None
|
|||||||
|
|
||||||
|
|
||||||
def upgrade() -> None:
|
def upgrade() -> None:
|
||||||
op.create_table(
|
conn = op.get_bind()
|
||||||
'chat_file',
|
inspector = sa.inspect(conn)
|
||||||
sa.Column('id', sa.Text(), primary_key=True),
|
existing_tables = set(inspector.get_table_names())
|
||||||
sa.Column('user_id', sa.Text(), nullable=False),
|
|
||||||
sa.Column(
|
if 'chat_file' not in existing_tables:
|
||||||
'chat_id',
|
op.create_table(
|
||||||
sa.Text(),
|
'chat_file',
|
||||||
sa.ForeignKey('chat.id', ondelete='CASCADE'),
|
sa.Column('id', sa.Text(), primary_key=True),
|
||||||
nullable=False,
|
sa.Column('user_id', sa.Text(), nullable=False),
|
||||||
),
|
sa.Column(
|
||||||
sa.Column(
|
'chat_id',
|
||||||
'file_id',
|
sa.Text(),
|
||||||
sa.Text(),
|
sa.ForeignKey('chat.id', ondelete='CASCADE'),
|
||||||
sa.ForeignKey('file.id', ondelete='CASCADE'),
|
nullable=False,
|
||||||
nullable=False,
|
),
|
||||||
),
|
sa.Column(
|
||||||
sa.Column('message_id', sa.Text(), nullable=True),
|
'file_id',
|
||||||
sa.Column('created_at', sa.BigInteger(), nullable=False),
|
sa.Text(),
|
||||||
sa.Column('updated_at', sa.BigInteger(), nullable=False),
|
sa.ForeignKey('file.id', ondelete='CASCADE'),
|
||||||
# indexes
|
nullable=False,
|
||||||
sa.Index('ix_chat_file_chat_id', 'chat_id'),
|
),
|
||||||
sa.Index('ix_chat_file_file_id', 'file_id'),
|
sa.Column('message_id', sa.Text(), nullable=True),
|
||||||
sa.Index('ix_chat_file_message_id', 'message_id'),
|
sa.Column('created_at', sa.BigInteger(), nullable=False),
|
||||||
sa.Index('ix_chat_file_user_id', 'user_id'),
|
sa.Column('updated_at', sa.BigInteger(), nullable=False),
|
||||||
# unique constraints
|
# indexes
|
||||||
sa.UniqueConstraint('chat_id', 'file_id', name='uq_chat_file_chat_file'), # prevent duplicate entries
|
sa.Index('ix_chat_file_chat_id', 'chat_id'),
|
||||||
)
|
sa.Index('ix_chat_file_file_id', 'file_id'),
|
||||||
pass
|
sa.Index('ix_chat_file_message_id', 'message_id'),
|
||||||
|
sa.Index('ix_chat_file_user_id', 'user_id'),
|
||||||
|
# unique constraints
|
||||||
|
sa.UniqueConstraint('chat_id', 'file_id', name='uq_chat_file_chat_file'), # prevent duplicate entries
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def downgrade() -> None:
|
def downgrade() -> None:
|
||||||
op.drop_table('chat_file')
|
op.drop_table('chat_file')
|
||||||
pass
|
|
||||||
@@ -16,30 +16,37 @@ depends_on = None
|
|||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
op.create_table(
|
conn = op.get_bind()
|
||||||
'folder',
|
inspector = sa.inspect(conn)
|
||||||
sa.Column('id', sa.Text(), nullable=False),
|
existing_tables = set(inspector.get_table_names())
|
||||||
sa.Column('parent_id', sa.Text(), nullable=True),
|
|
||||||
sa.Column('user_id', sa.Text(), nullable=False),
|
|
||||||
sa.Column('name', sa.Text(), nullable=False),
|
|
||||||
sa.Column('items', sa.JSON(), nullable=True),
|
|
||||||
sa.Column('meta', sa.JSON(), nullable=True),
|
|
||||||
sa.Column('is_expanded', sa.Boolean(), default=False, nullable=False),
|
|
||||||
sa.Column('created_at', sa.DateTime(), server_default=sa.func.now(), nullable=False),
|
|
||||||
sa.Column(
|
|
||||||
'updated_at',
|
|
||||||
sa.DateTime(),
|
|
||||||
nullable=False,
|
|
||||||
server_default=sa.func.now(),
|
|
||||||
onupdate=sa.func.now(),
|
|
||||||
),
|
|
||||||
sa.PrimaryKeyConstraint('id', 'user_id'),
|
|
||||||
)
|
|
||||||
|
|
||||||
op.add_column(
|
if 'folder' not in existing_tables:
|
||||||
'chat',
|
op.create_table(
|
||||||
sa.Column('folder_id', sa.Text(), nullable=True),
|
'folder',
|
||||||
)
|
sa.Column('id', sa.Text(), nullable=False),
|
||||||
|
sa.Column('parent_id', sa.Text(), nullable=True),
|
||||||
|
sa.Column('user_id', sa.Text(), nullable=False),
|
||||||
|
sa.Column('name', sa.Text(), nullable=False),
|
||||||
|
sa.Column('items', sa.JSON(), nullable=True),
|
||||||
|
sa.Column('meta', sa.JSON(), nullable=True),
|
||||||
|
sa.Column('is_expanded', sa.Boolean(), default=False, nullable=False),
|
||||||
|
sa.Column('created_at', sa.DateTime(), server_default=sa.func.now(), nullable=False),
|
||||||
|
sa.Column(
|
||||||
|
'updated_at',
|
||||||
|
sa.DateTime(),
|
||||||
|
nullable=False,
|
||||||
|
server_default=sa.func.now(),
|
||||||
|
onupdate=sa.func.now(),
|
||||||
|
),
|
||||||
|
sa.PrimaryKeyConstraint('id', 'user_id'),
|
||||||
|
)
|
||||||
|
|
||||||
|
chat_cols = {c['name'] for c in inspector.get_columns('chat')}
|
||||||
|
if 'folder_id' not in chat_cols:
|
||||||
|
op.add_column(
|
||||||
|
'chat',
|
||||||
|
sa.Column('folder_id', sa.Text(), nullable=True),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
def downgrade():
|
||||||
|
|||||||
Reference in new issue
Block a user