Split Database setup DDL into single steps and add verification for every step
At the moment the only distinction if the ddl should be (re-) deployed is the SELECT 1 FROM pg_roles ...
query in the user_exists
method. Sometimes steps of the following ddl deployment fail but then they where never reached when the action is called a second time. With splitting the ddl deployment into single steps we are able to check if it is neccessary (ie. create table xy when it not exists).