Hi Rostislav
Please find attached the data of that table
dump (9).sql.zip (37.7 KB)
Hi,
The reason of the problem is still unclear. Everything is OK in your sys_db_changelog.
I see that your application uses application components. Have you migrated all the components to a the new platform, clean, rebuilt and reinstall them?
Could you also inspect the /modules/core/build/db folder. Or (which is better) look at the scripts which are packed to app.war (build/distributions/war/app.war).
Not sure, but the problem might occur due to redundant db scripts were generated by Studio for CUBA in some of the components.
Hi Rostislav
I have migrated the app components but will check if I have missed any app component to migrate.
What I have noticed that the table SYS_DB_CHANGELOG is not updated with additional change items after i have deployed. My question about how it works in terms with database update. we have db folder where all the change SQLs are saved and on the other hand table SYS_DB_CHANGELOG has similar info at database level. Is it the mechanism that, when we deploy system compares these two and executes only those SQLs where are not existing in SYS_DB_CHANGELOG table?
The cuba.automaticDatabaseUpdate property is enabled by default in Cloud deployment settings.
So if you have not disabled it, the database is updated during the application start.
How it works:
- the generated for deployment WAR contains DB scripts in WEB-INF/db/
- when the application starts, all the scripts in this folder are handled one by one
- the script is executed if it was not registered in sys_db_changelog
So check which scripts are delivered to your cloud environment, compare them with the sys_db_changelog and try to discover why the error occurs - maybe, the scripts are doubled by some reason or have incorrect names.