diff --git a/be/alembic/versions/149e9bd58a80_add_chore_related_tables_and_enums.py b/be/alembic/versions/149e9bd58a80_add_chore_related_tables_and_enums.py deleted file mode 100644 index 8255bc1..0000000 --- a/be/alembic/versions/149e9bd58a80_add_chore_related_tables_and_enums.py +++ /dev/null @@ -1,28 +0,0 @@ -"""add_chore_related_tables_and_enums - -Revision ID: 149e9bd58a80 -Revises: d066f78fab40 -Create Date: 2025-05-21 07:52:33.382555 - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision: str = '149e9bd58a80' -down_revision: Union[str, None] = 'd066f78fab40' -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - pass - - -def downgrade() -> None: - """Downgrade schema.""" - pass diff --git a/be/alembic/versions/5e410b2b650c_add_chore_tables_final_attempt.py b/be/alembic/versions/5e410b2b650c_add_chore_tables_final_attempt.py deleted file mode 100644 index ce4b7aa..0000000 --- a/be/alembic/versions/5e410b2b650c_add_chore_tables_final_attempt.py +++ /dev/null @@ -1,28 +0,0 @@ -"""add_chore_tables_final_attempt - -Revision ID: 5e410b2b650c -Revises: 149e9bd58a80 -Create Date: 2025-05-21 07:53:12.492411 - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision: str = '5e410b2b650c' -down_revision: Union[str, None] = '149e9bd58a80' -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - pass - - -def downgrade() -> None: - """Downgrade schema.""" - pass diff --git a/be/alembic/versions/d066f78fab40_add_chores_and_chore_assignments_tables_.py b/be/alembic/versions/d066f78fab40_add_chores_and_chore_assignments_tables_.py deleted file mode 100644 index 8d05713..0000000 --- a/be/alembic/versions/d066f78fab40_add_chores_and_chore_assignments_tables_.py +++ /dev/null @@ -1,28 +0,0 @@ -"""add_chores_and_chore_assignments_tables_v2 - -Revision ID: d066f78fab40 -Revises: e4c462d43f5e -Create Date: 2025-05-21 07:51:58.734001 - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision: str = 'd066f78fab40' -down_revision: Union[str, None] = 'e4c462d43f5e' -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - pass - - -def downgrade() -> None: - """Downgrade schema.""" - pass diff --git a/be/alembic/versions/e4c462d43f5e_add_chores_and_chore_assignments_tables.py b/be/alembic/versions/e4c462d43f5e_add_chores_and_chore_assignments_tables.py deleted file mode 100644 index d99414c..0000000 --- a/be/alembic/versions/e4c462d43f5e_add_chores_and_chore_assignments_tables.py +++ /dev/null @@ -1,28 +0,0 @@ -"""add_chores_and_chore_assignments_tables - -Revision ID: e4c462d43f5e -Revises: 8efbdc779a76 -Create Date: 2025-05-21 07:51:05.985785 - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision: str = 'e4c462d43f5e' -down_revision: Union[str, None] = '8efbdc779a76' -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - pass - - -def downgrade() -> None: - """Downgrade schema.""" - pass diff --git a/be/alembic/versions/manual_0001_add_chore_tables.py b/be/alembic/versions/manual_0001_add_chore_tables.py index 7b05dda..35f4d56 100644 --- a/be/alembic/versions/manual_0001_add_chore_tables.py +++ b/be/alembic/versions/manual_0001_add_chore_tables.py @@ -9,6 +9,7 @@ from typing import Sequence, Union from alembic import op import sqlalchemy as sa +from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. revision: str = 'manual_0001' @@ -17,12 +18,14 @@ branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None # Enum definition for ChoreFrequencyEnum -chore_frequency_enum = sa.Enum('one_time', 'daily', 'weekly', 'monthly', 'custom', name='chorefrequencyenum') +chore_frequency_enum = postgresql.ENUM('one_time', 'daily', 'weekly', 'monthly', 'custom', name='chorefrequencyenum', create_type=False) def upgrade() -> None: """Upgrade schema.""" - # Create chorefrequencyenum type - chore_frequency_enum.create(op.get_bind(), checkfirst=True) + # Create chorefrequencyenum type if it doesn't exist + connection = op.get_bind() + if not connection.dialect.has_type(connection, 'chorefrequencyenum'): + chore_frequency_enum.create(connection) # Create chores table op.create_table('chores', @@ -40,12 +43,14 @@ def upgrade() -> None: sa.PrimaryKeyConstraint('id'), sa.ForeignKeyConstraint(['created_by_id'], ['users.id'], ), sa.ForeignKeyConstraint(['group_id'], ['groups.id'], ondelete='CASCADE'), - sa.Index(op.f('ix_chores_created_by_id'), ['created_by_id'], unique=False), - sa.Index(op.f('ix_chores_group_id'), ['group_id'], unique=False), - sa.Index(op.f('ix_chores_id'), ['id'], unique=False), - sa.Index(op.f('ix_chores_name'), ['name'], unique=False) ) + # Create indexes for chores table + op.create_index('ix_chores_created_by_id', 'chores', ['created_by_id'], unique=False) + op.create_index('ix_chores_group_id', 'chores', ['group_id'], unique=False) + op.create_index('ix_chores_id', 'chores', ['id'], unique=False) + op.create_index('ix_chores_name', 'chores', ['name'], unique=False) + # Create chore_assignments table op.create_table('chore_assignments', sa.Column('id', sa.Integer(), nullable=False), @@ -59,13 +64,15 @@ def upgrade() -> None: sa.PrimaryKeyConstraint('id'), sa.ForeignKeyConstraint(['assigned_to_user_id'], ['users.id'], ondelete='CASCADE'), sa.ForeignKeyConstraint(['chore_id'], ['chores.id'], ondelete='CASCADE'), - sa.Index(op.f('ix_chore_assignments_assigned_to_user_id'), ['assigned_to_user_id'], unique=False), - sa.Index(op.f('ix_chore_assignments_chore_id'), ['chore_id'], unique=False), - sa.Index(op.f('ix_chore_assignments_id'), ['id'], unique=False) ) + # Create indexes for chore_assignments table + op.create_index('ix_chore_assignments_assigned_to_user_id', 'chore_assignments', ['assigned_to_user_id'], unique=False) + op.create_index('ix_chore_assignments_chore_id', 'chore_assignments', ['chore_id'], unique=False) + op.create_index('ix_chore_assignments_id', 'chore_assignments', ['id'], unique=False) + def downgrade() -> None: """Downgrade schema.""" op.drop_table('chore_assignments') op.drop_table('chores') - chore_frequency_enum.drop(op.get_bind(), checkfirst=True) + # Don't drop the enum type as it might be used by other tables