INTRODUCTIONOrcas is a deployment framework for transforming an existing database schema into a target state. The state of the existing schema is irrelevant in most cases. If needed, unnecessary indexes, constraints, columns and tables will be deleted and necessary tables and columns will be added. Data types will be changed if possible. The target state will be provided in the form of SQL files, which are based on the CREATE / ALTER TABLE syntax. The use of Orcas has many advantages. One huge advantage is the possibility of versioning table creation scripts, which is a great help when working in a team, because changes can easily be recognized and undone if needed. An additional benefit is the ease of deployment on different databases without hassle so you have the same version of your source code on any number of databases.
- How to work with Orcas?
- Gradle setup What to do to get Orcas working with gradle
- Maven setup What to do to get Orcas working with maven
- Table syntax What do table scripts look like?
- Domain extensions How to integrate project specific extensions
Pros | Cons
- The target state is managed in simple text-based script files. Because of this, you can use all benefits of a version control system (provide versions, change log, uniform versions, merge support etc.).
- The scripts are a reference in themselves, so you don’t have to search different schemas to get the latest version of a DB package or have to set a default scheme for references.
- You don’t need any complicated or error prone DB release scripts.
- You can create as many schemas for development or testing purposes as you want without any cumbersome comparison effort.
- When using unsupported database functions, these parts have to be managed manually.
- Project associates need to know how to work with Orcas.