fix(db): portability and dedup in migration 002

- server_default='1' anziche sa.true() per compatibilita con SQLite
  (usato come DB in-memory nei test)
- Rimuove Index ix_stations_code ridondante con UniqueConstraint
  uq_stations_code (InnoDB crea gia un indice per i vincoli UNIQUE)

Feedback da code-reviewer su Task 1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-17 21:40:15 +02:00
parent fa5d641238
commit 2963d3d647
@@ -24,11 +24,10 @@ def upgrade() -> None:
sa.Column('name', sa.String(255), nullable=False), sa.Column('name', sa.String(255), nullable=False),
sa.Column('location', sa.String(255), nullable=True), sa.Column('location', sa.String(255), nullable=True),
sa.Column('notes', sa.Text, nullable=True), sa.Column('notes', sa.Text, nullable=True),
sa.Column('active', sa.Boolean, nullable=False, server_default=sa.true()), sa.Column('active', sa.Boolean, nullable=False, server_default='1'),
sa.Column('created_by', sa.Integer, sa.ForeignKey('users.id'), nullable=False), sa.Column('created_by', sa.Integer, sa.ForeignKey('users.id'), nullable=False),
sa.Column('created_at', sa.DateTime, nullable=False, server_default=sa.func.now()), sa.Column('created_at', sa.DateTime, nullable=False, server_default=sa.func.now()),
sa.UniqueConstraint('code', name='uq_stations_code'), sa.UniqueConstraint('code', name='uq_stations_code'),
sa.Index('ix_stations_code', 'code'),
sa.Index('ix_stations_active', 'active'), sa.Index('ix_stations_active', 'active'),
mysql_engine='InnoDB', mysql_engine='InnoDB',
mysql_charset='utf8mb4', mysql_charset='utf8mb4',