How can I get the modeller to load the modified database

I have just modified my database. I was expecting it to be able to read in the changes, or even the whole database again..

I didn't find any menu options. And server.dgp does not store the database-name.

I have created a new project, but this means that I have to modify the mappings every time.

What am I missing?

That's how it is. If you modify the database "outside" from Data Modeler, you will have to reimport the database into a new project.

Hi Wagner, I know we talked about that in the past already and I understand that implementing "merging differences" from the DB into an existing model would be a huge undertaking.

The reality - at least for legacy projects - is though, that external tools, other teams are working on the DB and that these changes need to be "pulled" into existing Aurelius models. Model first or code first really don't exist in that world ;-)

In other words, could you think of something simple, like load the whole DB into a new model, pick the two or three tables that I know that changed/were added and "copy and paste" them to the original dgp file?

Additionally copy and paste just some selected fields from that newly created model, into the table where they belong to?

Tracking DB changes in DBModeler / Aurelius has become major pita for every single project that I am involved with. That pain is so serious that opinions are getting louder that it would be cheaper in the long run to throw Aurelius out all together :frowning: and replace it with something else.

PS: Currently I am using an AI Agent to "copy and paste" tables from a freshly imported gdp file into the actual one.

That works amazingly well (You can easily check the results by comparing the generated code in Git - if it only added the new table, and nothing else changed, you are fine), but it is still slow. It's usually several iterations, where you load the modified model, hit check, feed the produced errors back into the AI.
Still better than doing this manually, which would be at least very error prone if not completely undoable....

Hi @Olaf,

The main point here is the merge operation which can be really complex.
Data Modeler works with internal ids to know, for example, if a table A was renamed to B, instead of simply thinking that table A was removed and a table B was created.

Also there are all the related objects like indexes, constraints and mainly relationship between tables.

Thus, if a table is externally renamed from A to B, when imported, it will be fully deleted (A) and recreated (B).

Side question is: if you fully reimport the whole database, what do you lose, exactly? Only the settings to export to Aurelius? Or something else?

Could it be that for example instead of a "merge from external changes", there will be some more radical feature that is "reimport the full database"? That would basically be almost the same as creating a new Data Modeler project from scratch. In that scenario, what should be reused, exactly?