Once a connection is establish with a database, we need to collect some information about the database tables and view, their columns, data types etc (we call this type of information about data metadata). This is a one way reverse-engineering process, by which nothing is ever changed by our application on the database side.
Metadata Import starts as soon as you click OK in the Database Connection popup, after a successful connection. Or when a file-based database has been successfully loaded. Or automatically for each connection string selected in the Batch Connection Loader:
In Administration Mode (by default OFF) a Schema node will appear under each database connection node, with different database-specific schema views from which we collected our information.
The information we stored locally may be refreshed with server-side metadata changes, with a periodic manual Refresh action. Call this action periodically – especially when your database system is under development – or when you detect some errors (visual elements in red) in your model or query diagrams.
To properly manage metadata changes, our metadata Refresh is implemented as a two-step process. When we detect safe updates, we perform in-place changes, with no warning. This could be a column data type or default value change. Also, new primary or foreign keys may also be considered safe updates.
New items (tables, views or columns) appear in green, and deleted items in red. This is because it’s very likely new and deleted items to refer at the same objects which had the names changed. Being hard for us to determine such name changes, we let you inspect your model and query diagrams, manually delete the items in red and eventually manually replace them with the items in green. Once you are done, do another Refresh and you’ll see this starts by removing the red items from our local storage and removing the green color from the newly detected items at the previous step. This was the “cleaning up previous errors” step in the Metadata Import/Refresh popup.
When you expand the first time a database connection node, all related locally stored data is loaded and kept in memory. Reload will simply reload all this data, reload all application’s Options, and refresh all open diagrams or other objects on screen, without leaving the application for a similar effect.