Description
Description
When the database objects, including extensions, foreign data wrappers, user mappings, foreign tables, and views, already exist in the database, schema-importer
skips to create them with IF NOT EXISTS
for now. So, running schema-importer
multiple times on the same database is fine.
However, this means that altering tables on the ScalarDB side will not be reflected on the Analytics side. The same goes for deleting a table. It would be better for users if we could provide a way to reflect such modifications to the Analytics side.
Possible approaches
The most efficient but complex approach to address this is to compare the schema between the ScalarDB side and the Analytics side, and if we find the differences, reflect them on the Analytics side.
A simpler way is to delete all database objects on the Analytics side and re-run the import process. This would be fine because the database objects created by schema-importer
are stateless.
In conclusion, we will go with the second way, delete all and re-import, at first.