We are using DevTest 10.6 fresh install, and Oracle 19c database.
After having the DBA create the Enterprise Dashboard using the provided DDL scripts manually, we are seeing the following error when attempting to start the Enterprise Dashboard Service using the AppUser account.
Caused by: org.flywaydb.core.api.FlywayException: Found non-empty schema "XXXXXX" without metadata table! Use baseline() or set baselineOnMigrate to true to initialize the metadata table.
2021-02-18 17:40:13,680Z (12:40) [main] ERROR dradis.Application - Exception: Error creating bean with name 'dradisInitBean': Invocation of init method failed; nested exception is org.flywaydb.core.api.FlywayException: Found non-empty schema "XXXXXX" without metadata table! Use baseline() or set baselineOnMigrate to true to initialize the metadata table.
Also we were told there are two approaches for setting up the Oracle database:
We went with the second approach. We are quite sure our DBA’s granted all DML permissions. In our case, DBA’s created 3 schema owner account (that has DDL permissions)
One appuser account (that doesn’t have any DDL permissions) and the same appuser account is used for all services Enterprise Dashboard, Access Manager, and Registry.
One issue we have identified is that the component table was present in 2 schemas, so only one synonym was created, which could be a problem. We were told earlier that all table names are unique between those 3 schemas so having synonyms won't cause an issue.
After updating the license, we were trying to restart the Enterprise Dashboard service, and it's throwing the error mentioned above.
During a troubleshooting session with the DBA, the DBA noticed the "schema_version" table is created with an all lower-case name. He was expecting this to be in all upper-case as the other tables.
Release : 10.6
Component : CA Service Virtualization
To resolve the issue the DBA dropped the "schema_version" table and reran the script, which created the "schema_version" table with an all lower-case name. Now the Enterprise Dashboard service is able to start. However, the customer is unable to start the Registry service, due to the shared table name mentioned before. They have requested a second AppUser account to use for starting the Registry.
The reason the "schema_version" table has an all lower-case name is due to a restriction placed by the Flyway Database.
"This really is "private API", internal to Flyway. This table is an internal implementation detail of Flyway DB, and it should be maintained with quotes (i.e, "schema_version") as it is case-sensitive."
For more information see https://github.com/flyway/flyway/issues/785