Upgrade schemas imported from legacy dumps
This commit is contained in:
parent
afb29d9828
commit
18da767790
3 changed files with 110 additions and 2 deletions
|
|
@ -443,6 +443,7 @@ def main():
|
|||
signal.signal(signal.SIGINT, signal_handler)
|
||||
|
||||
while running:
|
||||
result = None
|
||||
try:
|
||||
result = run_watchdog()
|
||||
if result is False:
|
||||
|
|
@ -465,4 +466,4 @@ def main():
|
|||
log("Watchdog ENT arrêté")
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main()
|
||||
|
|
|
|||
|
|
@ -308,6 +308,7 @@ def main():
|
|||
signal.signal(signal.SIGINT, signal_handler)
|
||||
|
||||
while running:
|
||||
result = None
|
||||
try:
|
||||
result = run_watchdog()
|
||||
if result is False:
|
||||
|
|
@ -330,4 +331,4 @@ def main():
|
|||
log("Watchdog GMAO arrêté")
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,106 @@
|
|||
"""Add synchronization fields missing from older GMAO dumps.
|
||||
|
||||
Revision ID: e0f4a5b6c7d8
|
||||
Revises: d9e3f4a5b6c7
|
||||
Create Date: 2026-08-14
|
||||
"""
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
revision = "e0f4a5b6c7d8"
|
||||
down_revision = "d9e3f4a5b6c7"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.add_column(
|
||||
"equipments",
|
||||
sa.Column("is_deleted", sa.Boolean(), nullable=False, server_default=sa.false()),
|
||||
)
|
||||
op.add_column(
|
||||
"equipments", sa.Column("deleted_at", sa.DateTime(), nullable=True)
|
||||
)
|
||||
op.add_column(
|
||||
"interventions",
|
||||
sa.Column("original_scheduled_date", sa.DateTime(), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"interventions", sa.Column("postpone_count", sa.Integer(), nullable=True)
|
||||
)
|
||||
op.add_column(
|
||||
"interventions",
|
||||
sa.Column("last_postpone_reason", sa.Text(), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"interventions", sa.Column("last_postpone_at", sa.DateTime(), nullable=True)
|
||||
)
|
||||
op.add_column(
|
||||
"interventions",
|
||||
sa.Column("preventive_task_id", sa.Integer(), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"interventions", sa.Column("lot_task_id", sa.Integer(), nullable=True)
|
||||
)
|
||||
op.add_column(
|
||||
"interventions", sa.Column("postpone_reason", sa.Text(), nullable=True)
|
||||
)
|
||||
op.add_column(
|
||||
"gmao_context",
|
||||
sa.Column("outlook_sync_enabled", sa.Boolean(), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"gmao_context",
|
||||
sa.Column("outlook_sync_interval", sa.Integer(), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"gmao_context",
|
||||
sa.Column("outlook_sync_lookback_hours", sa.Integer(), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"gmao_context",
|
||||
sa.Column("ai_provider", sa.String(length=20), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"gmao_context",
|
||||
sa.Column("ollama_model", sa.String(length=100), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"gmao_context",
|
||||
sa.Column("watchdog_enabled", sa.Boolean(), nullable=True),
|
||||
)
|
||||
op.add_column(
|
||||
"gmao_context",
|
||||
sa.Column("watchdog_interval", sa.Integer(), nullable=True),
|
||||
)
|
||||
|
||||
op.execute(
|
||||
"UPDATE gmao_context SET "
|
||||
"outlook_sync_enabled = COALESCE(outlook_sync_enabled, TRUE), "
|
||||
"outlook_sync_interval = COALESCE(outlook_sync_interval, 10), "
|
||||
"outlook_sync_lookback_hours = COALESCE(outlook_sync_lookback_hours, 24), "
|
||||
"ai_provider = COALESCE(ai_provider, 'openrouter'), "
|
||||
"watchdog_enabled = COALESCE(watchdog_enabled, FALSE), "
|
||||
"watchdog_interval = COALESCE(watchdog_interval, 10)"
|
||||
)
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.drop_column("gmao_context", "watchdog_interval")
|
||||
op.drop_column("gmao_context", "watchdog_enabled")
|
||||
op.drop_column("gmao_context", "ollama_model")
|
||||
op.drop_column("gmao_context", "ai_provider")
|
||||
op.drop_column("gmao_context", "outlook_sync_lookback_hours")
|
||||
op.drop_column("gmao_context", "outlook_sync_interval")
|
||||
op.drop_column("gmao_context", "outlook_sync_enabled")
|
||||
op.drop_column("interventions", "postpone_reason")
|
||||
op.drop_column("interventions", "lot_task_id")
|
||||
op.drop_column("interventions", "preventive_task_id")
|
||||
op.drop_column("interventions", "last_postpone_at")
|
||||
op.drop_column("interventions", "last_postpone_reason")
|
||||
op.drop_column("interventions", "postpone_count")
|
||||
op.drop_column("interventions", "original_scheduled_date")
|
||||
op.drop_column("equipments", "deleted_at")
|
||||
op.drop_column("equipments", "is_deleted")
|
||||
Loading…
Reference in a new issue