_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN
Let's talk

Database Migrations

17. 09. 2025 1 min read intermediate

Bez migrations měníte schéma ručně na produkci. S migrations máte verzovanou, opakovatelnou, reversibilní historii změn.

Alembic (Python/SQLAlchemy)

Inicializace

alembic init migrations

Generování migrace

alembic revision –autogenerate -m “add users table”

Aplikace

alembic upgrade head alembic downgrade -1 # Rollback

Example migrace

def upgrade(): op.create_table(‘users’, sa.Column(‘id’, sa.Integer, primary_key=True), sa.Column(‘email’, sa.String(255), unique=True, nullable=False), sa.Column(‘name’, sa.String(100)), sa.Column(‘created_at’, sa.DateTime, server_default=sa.func.now()), ) op.create_index(‘idx_users_email’, ‘users’, [‘email’]) def downgrade(): op.drop_table(‘users’)

Best Practices

  • Migrace v source control
  • Idempotentní (bezpečné spustit vícekrát)
  • Backward compatible (deploy před migration)
  • Test na kopii produkčních dat
  • Nikdy nemažte sloupec přímo — deprecated → remove

Key Takeaway

Migrace = verzované schéma. Alembic pro Python, Flyway pro Java, Prisma migrate pro TypeScript.

databasemigrationsalembicdevops
Share:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.