Thursday 11:35
in Hassium
Talk Structure: "Beyond Your ORM's Migration Tool"
Introduction – Why ORMs Build Migration Tools
- ORMs like SQLAlchemy and Django ORM simplify database interactions and include migration tools (e.g., Alembic, Django Migrations) for schema changes.
- These tools are robust for ORM-defined schemas but lack advanced features and native CI/CD integrations.
Where Built-in Tools Fall Short
- ORM migration tools focus on basic schema changes but don’t support advanced database objects like triggers, materialized views, or stored procedures.
- Lack native integration with modern CI/CD tools, leaving teams to implement custom, often suboptimal solutions.
Presenting Atlas – Bridging the Gap
- Atlas complements ORM tools by reading their schemas (e.g., Django models, SQLAlchemy models) and enabling advanced extensions.
- Key features:
- Support for triggers, materialized views, and other advanced objects.
- Native CI/CD integration for automating and validating schema changes.
How Atlas Integrates with ORMs
- Atlas reads ORM-defined schemas and enhances them with advanced features.
- Combines ORM workflows with Atlas’s robust schema management capabilities, enabling automation and database-specific optimizations.
Demo – Atlas in Action
- Example: A Django project adds a materialized view and a trigger using Atlas.
- Steps:
- Use Atlas to read the ORM schema and extend it with advanced features.
- Automate migration validation and deployment through CI/CD pipelines.
- Outcome: Simplified and automated schema management with modern tooling.
Conclusion and Q&A
- Key Takeaways:
- ORM migration tools like Alembic and Django Migrations are great for standard use cases but fall short for advanced workflows and CI/CD integration.
- Atlas bridges this gap, enabling automation and advanced database features.
- Call to Action: Try Atlas to enhance schema workflows.
- Q&A: Open floor for questions.
Rotem Tamir
Rotem Tamir (39), father of two. Co-founder and CTO of Ariga, creator of Atlas, an open-source database schema as code tool.