Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Database Migrations

17. 09. 2025 1 Min. Lesezeit intermediate

Ohne Migrations ändern Sie das Schema manuell in der Produktion. Mit Migrations haben Sie eine versionierte, wiederholbare, reversible Änderungshistorie.

Alembic (Python/SQLAlchemy)

Initialisierung

alembic init migrations

Migration generieren

alembic revision –autogenerate -m “add users table”

Anwenden

alembic upgrade head alembic downgrade -1 # Rollback

Migrationsbeispiel

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

  • Migrations in der Versionskontrolle
  • Idempotent (sicher mehrfach ausführbar)
  • Abwärtskompatibel (Deploy vor Migration)
  • Test auf Kopie der Produktionsdaten
  • Spalten nie direkt löschen — deprecated → remove

Wichtigste Erkenntnis

Migrations = versioniertes Schema. Alembic für Python, Flyway für Java, Prisma Migrate für TypeScript.

databasemigrationsalembicdevops
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.