I want to understand better how Liquibase executes change sets.
1)
a) For example I have a change log with 4 change sets and I execute updateDatabase (http://www.liquibase.org/documentation/ant/updatedatabase_ant_task.html).
Liquibase will execute 4 change sets.
b) If I run the same change log once again Liquibase not execute any set.
c) If I will add a new change set to the change log and will run the change log Liquibase will execute the new change set only.
Questions:
- How Liquibase knows what change sets to execute?
- How Liquibase knows what change sets already executed?
2) How change set ID is important? Can I change it after a change log execution?
3) How change set author is important? Can I change it after a change log execution?
4) What happens if I will execute the rollbackDatabase (http://www.liquibase.org/documentation/ant/rollbackdatabase_ant_task.html)?
How Liquibase knows what change sets to rollback?
a) What happens if I will execute the rollback after 1 a).
Will Liquibase call to rollback element that is located in each change sets (4 rollback elements)?
b) What happens if I will execute the rollback after 1 b).
How Liquibase will know not to call to any to rollback element?
c) What happens if I will execute the rollback after 1 c).
Will Liquibase call to rollback element of only the new change set?
1)
a) For example I have a change log with 4 change sets and I execute updateDatabase (http://www.liquibase.org/documentation/ant/updatedatabase_ant_task.html).
Liquibase will execute 4 change sets.
b) If I run the same change log once again Liquibase not execute any set.
c) If I will add a new change set to the change log and will run the change log Liquibase will execute the new change set only.
Questions:
- How Liquibase knows what change sets to execute?
- How Liquibase knows what change sets already executed?
2) How change set ID is important? Can I change it after a change log execution?
3) How change set author is important? Can I change it after a change log execution?
4) What happens if I will execute the rollbackDatabase (http://www.liquibase.org/documentation/ant/rollbackdatabase_ant_task.html)?
How Liquibase knows what change sets to rollback?
a) What happens if I will execute the rollback after 1 a).
Will Liquibase call to rollback element that is located in each change sets (4 rollback elements)?
b) What happens if I will execute the rollback after 1 b).
How Liquibase will know not to call to any to rollback element?
c) What happens if I will execute the rollback after 1 c).
Will Liquibase call to rollback element of only the new change set?