diff --git a/migrations/versions/2937635f309a_add_turn_tracking_fields_to_game_model.py b/migrations/versions/2937635f309a_add_turn_tracking_fields_to_game_model.py index 064d5d5..d54e837 100644 --- a/migrations/versions/2937635f309a_add_turn_tracking_fields_to_game_model.py +++ b/migrations/versions/2937635f309a_add_turn_tracking_fields_to_game_model.py @@ -18,10 +18,13 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### + # Split into two batch operations to avoid SQLite circular dependency error with op.batch_alter_table('games', schema=None) as batch_op: batch_op.add_column(sa.Column('current_turn_team_id', sa.Integer(), nullable=True)) batch_op.add_column(sa.Column('turn_order', sa.JSON(), nullable=True)) batch_op.add_column(sa.Column('is_steal_mode', sa.Boolean(), nullable=True)) + + with op.batch_alter_table('games', schema=None) as batch_op: batch_op.create_foreign_key('fk_games_current_turn_team', 'teams', ['current_turn_team_id'], ['id']) # ### end Alembic commands ### diff --git a/migrations/versions/9a119272b516_add_question_ownership_and_sharing.py b/migrations/versions/9a119272b516_add_question_ownership_and_sharing.py index bfe3f99..c066b54 100644 --- a/migrations/versions/9a119272b516_add_question_ownership_and_sharing.py +++ b/migrations/versions/9a119272b516_add_question_ownership_and_sharing.py @@ -30,9 +30,13 @@ def upgrade(): sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('question_id', 'shared_with_user_id', name='unique_question_share') ) + # Split into separate batch operations to avoid SQLite circular dependency + # with the existing current_turn_team_id foreign key with op.batch_alter_table('games', schema=None) as batch_op: batch_op.add_column(sa.Column('completed_at', sa.DateTime(), nullable=True)) batch_op.add_column(sa.Column('winners', sa.JSON(), nullable=True)) + + with op.batch_alter_table('games', schema=None) as batch_op: batch_op.drop_column('turn_order') batch_op.drop_column('is_steal_mode')