fix(migration)
This commit is contained in:
@@ -19,17 +19,28 @@ depends_on: Union[str, Sequence[str], None] = None
|
|||||||
|
|
||||||
|
|
||||||
def upgrade() -> None:
|
def upgrade() -> None:
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
# Vérifier si la colonne existe déjà (cas où la migration initiale l'a déjà créée)
|
||||||
# Ajouter la colonne avec nullable=True d'abord
|
bind = op.get_bind()
|
||||||
op.add_column('events', sa.Column('is_private', sa.Boolean(), nullable=True))
|
inspector = sa.inspect(bind)
|
||||||
# Mettre à jour toutes les lignes existantes avec False
|
columns = [col['name'] for col in inspector.get_columns('events')]
|
||||||
op.execute("UPDATE events SET is_private = FALSE WHERE is_private IS NULL")
|
|
||||||
# Rendre la colonne non-nullable avec une valeur par défaut
|
if 'is_private' not in columns:
|
||||||
op.alter_column('events', 'is_private',
|
# Ajouter la colonne avec nullable=True d'abord
|
||||||
existing_type=sa.Boolean(),
|
op.add_column('events', sa.Column('is_private', sa.Boolean(), nullable=True))
|
||||||
nullable=False,
|
# Mettre à jour toutes les lignes existantes avec False
|
||||||
server_default='false')
|
op.execute("UPDATE events SET is_private = FALSE WHERE is_private IS NULL")
|
||||||
# ### end Alembic commands ###
|
# Rendre la colonne non-nullable avec une valeur par défaut
|
||||||
|
op.alter_column('events', 'is_private',
|
||||||
|
existing_type=sa.Boolean(),
|
||||||
|
nullable=False,
|
||||||
|
server_default='false')
|
||||||
|
else:
|
||||||
|
# La colonne existe déjà, juste s'assurer qu'elle a les bonnes propriétés
|
||||||
|
# Vérifier si elle est nullable et la corriger si nécessaire
|
||||||
|
op.alter_column('events', 'is_private',
|
||||||
|
existing_type=sa.Boolean(),
|
||||||
|
nullable=False,
|
||||||
|
server_default='false')
|
||||||
|
|
||||||
|
|
||||||
def downgrade() -> None:
|
def downgrade() -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user