At the moment queries that manipulate a database are directly committed. I propose that we commit transactions at the end of every step (where step is a logical unit as in persistence, quality, etc). This way if a step fails, the set of queries in a step fail and can be rolled back.
An other advantage is that we can rollback every database test and thus not polluting the database. Also it should be easier to reason about in what state the database is.
This is probably wise to combine with the switch to SQLAlchemy.
At the moment queries that manipulate a database are directly committed. I propose that we commit transactions at the end of every step (where step is a logical unit as in persistence, quality, etc). This way if a step fails, the set of queries in a step fail and can be rolled back.
An other advantage is that we can rollback every database test and thus not polluting the database. Also it should be easier to reason about in what state the database is.
This is probably wise to combine with the switch to SQLAlchemy.
This issue has been moved from the LOFAR issue tracker: https://support.astron.nl/lofar_issuetracker/issues/4227