What are we trying to do (1)
Short answer: GSI wants in a scripted way to create an empty LSA schema from scratch that does not have errors or warnings.
Long answer:
We have the following case:
DEV/NEXT/PRO LSA Databases at CERN, Java development at CERN on
https://svn.cern.ch/reps/acc-co/trunk
DEV/INT(egration)/PRO LSA Databases at GSI, Java development at GSI on
https://www-acc.gsi.de/svn/lsa
The code/features for the part of the LSA project we are collaborating on are synchronized/merged from time to time.
The problem with this approach is that
we do not know which database change belongs to which part of a Java code change. On top of that each institute has different versions of the database (DEV/NEXT/PRO).
For each Java feature implemented in the common (collaboration) core, one or more SQL files should exist that contain the related database changes and should be committed together with the Java code to SVN. Ideally split into Schema and ‘Content’ changes.
To help applying/managing the changes we were thinking about database versioning tools like Flyway or Liquibase.
On top of that the LSA Database contains still a large amount of CERN specific tables/trigger/packages that are not needed by the common lsa-core we are collaborating on, and some of them are not even working at GSI (e.g. those referencing the measurement database or some related to timing information)
Since we want a clean database at GSI to start from when we go PRO (no warnings and compile errors), we wanted to separate the “common core” database tables/trigger etc. from the CERN specific ones and cleanup the scripts.