HR-ATS-Portal/backend/migrations/versions/20260811_1149-d0b62342a32f_...

91 lines
4.2 KiB
Python

"""auto
Revision ID: d0b62342a32f
Revises: ed78f1706042
Create Date: 2026-08-11 11:49:25.965217+00:00
"""
from __future__ import annotations
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
import sqlmodel # SQLModel renders AutoString() into migrations but adds no import
revision: str = 'd0b62342a32f'
down_revision: Union[str, None] = 'ed78f1706042'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('notes',
sa.Column('id', sa.Uuid(), nullable=False),
sa.Column('note', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=False),
sa.Column('updated_at', sa.DateTime(), nullable=False),
sa.Column('user_id', sa.Uuid(), nullable=True),
sa.Column('created_by', sa.Uuid(), nullable=True),
sa.ForeignKeyConstraint(['created_by'], ['app.users.id'], name=op.f('fk_notes_created_by_users')),
sa.ForeignKeyConstraint(['user_id'], ['app.users.id'], name=op.f('fk_notes_user_id_users')),
sa.PrimaryKeyConstraint('id', name=op.f('pk_notes')),
schema='app'
)
op.create_table('activity',
sa.Column('id', sa.Uuid(), nullable=False),
sa.Column('activity_type', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column('activity_date', sa.DateTime(), nullable=False),
sa.Column('activity_time', sa.DateTime(), nullable=False),
sa.Column('activity_status', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column('description', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column('inbox_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['inbox_id'], ['app.inbox.id'], name=op.f('fk_activity_inbox_id_inbox')),
sa.PrimaryKeyConstraint('id', name=op.f('pk_activity')),
schema='app'
)
op.create_table('feedback',
sa.Column('id', sa.Uuid(), nullable=False),
sa.Column('review', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column('financial_status', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column('score', sa.Float(), nullable=False),
sa.Column('note', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=False),
sa.Column('updated_at', sa.DateTime(), nullable=False),
sa.Column('reviewed_by', sa.Uuid(), nullable=True),
sa.Column('inbox_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['inbox_id'], ['app.inbox.id'], name=op.f('fk_feedback_inbox_id_inbox')),
sa.ForeignKeyConstraint(['reviewed_by'], ['app.users.id'], name=op.f('fk_feedback_reviewed_by_users')),
sa.PrimaryKeyConstraint('id', name=op.f('pk_feedback')),
schema='app'
)
op.create_table('interviews',
sa.Column('id', sa.Uuid(), nullable=False),
sa.Column('interview_date', sa.DateTime(), nullable=False),
sa.Column('interview_time', sa.DateTime(), nullable=False),
sa.Column('interview_type', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column('interview_status', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column('inbox_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['inbox_id'], ['app.inbox.id'], name=op.f('fk_interviews_inbox_id_inbox')),
sa.PrimaryKeyConstraint('id', name=op.f('pk_interviews')),
schema='app'
)
op.add_column('inbox', sa.Column('favorite', sa.Boolean(), nullable=True), schema='app')
op.add_column('inbox', sa.Column('rating', sa.Float(), nullable=True), schema='app')
op.add_column('inbox_messages', sa.Column('candidate_education', sqlmodel.sql.sqltypes.AutoString(), nullable=True), schema='app')
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('inbox_messages', 'candidate_education', schema='app')
op.drop_column('inbox', 'rating', schema='app')
op.drop_column('inbox', 'favorite', schema='app')
op.drop_table('interviews', schema='app')
op.drop_table('feedback', schema='app')
op.drop_table('activity', schema='app')
op.drop_table('notes', schema='app')
# ### end Alembic commands ###