Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Why liquibase in Mifos? 1.

  1. Rely on a feature rich db version control tool instead of custom framework

...

  1. Give an option to decouple db upgrade and application server startup in production

...

  1. Bring in db rollback facility after an upgrade attempt, this is a risk mitigation step for upgrades

...

  1. Allow customers to upgrade to latest version of Mifos skipping any in between releases

I am a developer, how do I apply liquibase change sets?
For the convenience of developers and small deployments, db upgrade during application server start up is retained.

...

Where is the seed data for integration and acceptance tests stored?
Integration test data is available in mifos/db/src/test/resources/sql/integration_test_data.sql. Acceptance test data is in projects/mifos/db/src/test/resources/sql/acceptance_test_data.sql. integration_test_data.sql contains all data in acceptance_test_datadump.sql . Use either one of them depending on context. Use integration_test_data.sql if you just want to have some sample data in local application server.

...

If in doubt, how a given change set should be classified, please use our developer mailing lists or IRC forum. You can also reach out to any our developers to review your change sets before including them to the code base.

After moving to newer version of Mifos, can I wait a week or longer to run db contraction?
Yes. DB contraction needs to happen anytime before next Mifos upgrade. It is a mandatory step in production and must be planned for.

How do we upgrade DB for QA?
For most of the testing purposes like story sign offs, we can rely on tomcat start up for the DB upgrade. The shell scripts used in production is used in CI for DB expansion. Rollback scripts and windows batch files are not part of any automated testing. It is recommended to do one round of manual test with these scripts before a release.

I have created a change set, can I see the SQL equivalent generated by Liquibase?
Before applying change set on the db, run "mvn liquibase:updateSQL" from db module. This step generates the SQL for un-applied upgrades and saves it to a file without applying it to the database.