The document discusses database migration and source control. It describes how database structure, data, and logic can change across versions. It recommends using tools like Liquibase and Flyway to manage database schema changes and keep the database schema in sync with code. These tools allow defining changes in SQL-based changesets and tracking them in version control. The document also covers how the tools implement features like rollback of changes, preconditions for changes, and support for multiple database types.
2. what:
Database migration:
Database structure:
- Tables, constrains, indexes;
Database data:
- Initial data like list of post codes,
statuses for order, etc.
Database logic:
- stored procedures, triggers, functions
3. why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post codes,
statuses for order, etc.
Data base logic:
- stored procedures, triggers, functions
v1.0.0
4. why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
v1.0.0
5. why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post co
v1.2.1
v1.0.0
6. Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post
v1.2.1
v1.6.0
v1.0.0
why: versions
7. Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post c
v1.2.1
v1.6.0
v2.0.1
v1.0.0
why: versions
8. Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post codes,
statuses for order, etc.
Data base logic:
- stored procedures, triggers, functions
v1.2.1
v1.6.0
v2.0.1
v1.0.0
why: versions
9. Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post codes,
statuses for order, etc.
Data base logic:
- stored procedures, triggers, functions
v1.2.1
v1.6.0
v2.0.1
v1.0.0DEV
why: environments
23. How it works
Sequential change flow
1. Init db
3. Add new table
4. Remove column “type”
2. Add column “type”
24. difference?, comparison.
Rollback vs no rollback
SQL output
Conditions
baseline
Supported modes:
https://flywaydb.org/documentation/gradle/
Flyway more and esear.
26. How it works
Changes are grouped into changesets:
• Change(s) that should be applied
atomically
Changesets are grouped into
changelogs:
•Files managed in version control