Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. CI continuously monitors the 3 system of record locations
  2. As soon as a change is detected, a job is fired to generate SQL from the system of record locations
    1. The job generates SQL for MySQL and Oracle
    2. Any new or altered SQL is checked into its corresponding generated location
    3. Any old SQL is removed from its corresponding location
    4. The SQL generation process completes in approximately 30 minutes
    5. The CI job also creates metadata describing the SQL files for each project (look in src/main/resources/META-INF)
  3. As soon as the SQL generation is complete a CI job is fired to execute the SQL
    1. The SQL execution job runs the SQL for both MySQL and Oracle against test databases
    2. This process completes in approximately 30 minutes
    3. The SQL execution job is a lightweight Spring based component at its core
    4. The Spring based nature of the SQL execution decouples the database creation process from:
      1. The file system
      2. Source code management system
      3. "Other" random requirements imposed by tooling used to convert database agnostic XML into database specific SQL