Copying Data Between Databases
Data can be copied between two master databases, between a master database and a transportable database, or between two transportable databases.
A non-current master database can be opened as a guest database to copy data between master databases on the same machine or network.
A transportable database may be used for transferring data:
- Between databases within an organisation.
- When sharing data with external organisations.
- When sending data to Innovyze as part of a support request.
Objects are copied and pasted between databases in the same way as within a database. You can paste data copied from an older version of a database into a newer version but you cannot paste data copied from a newer version of a database into an older version, unless you update the older version to the same version as the newer database.
Copying and pasting is recursive. When an object is copied, all descendants of the object are copied with it. For example, if you copy a group, all items and groups contained in the parent group will also be copied.
To copy data between databases:
- To copy data from / to a database other than the current database, choose Open | Open/Create master database from the File menu. Select the relevant master database.
- Select New Explorer window from the Window menu to display an Explorer window of the database. Open another master database or a transportable database that you want to copy:
- To view another master database, select Open | Open another master database from the File menu and choose the relevant database. (Multiple guest databases may be opened.)
- To view a transportable database, select Open | Open transportable database from the File menu and choose the relevant database. (Multiple transportable databases may be opened.)
- In the Explorer view for the database, right-click on the top level of data you want to copy. For example, you can choose a whole model group or any item in a model group (such as a network or a Selection List group).
- Choose Copy from the popup menu.
- In the Explorer view for the database to be copied to, right-click on the item that is to contain the copied data and select Paste from the popup menu.
InfoWorks ICM will copy all items of data at or below the selected level.
This process can be repeated as often as is necessary, so that any combination of data items are copied to the database.
All objects in an InfoWorks ICM database (master or transportable) are identified by a globally unique ID (GUIDA Globally Unique IDentifier, or GUID, is an automatically generated identifier that is guaranteed to be unique across all systems. It is generated using a complex algorithm based on the date and time and the individual computer's network card ID. GUIDs take the form {629810C2-3F6B-11D3-9BF3-00600891B690} and you will see them in a number of places where uniqueness is essential.).
InfoWorks ICM checks if objects being copied to a database already exist in the database. If there are duplicate objects, the Copying Of Duplicate Items dialog will be displayed:
- Click OK to continue to paste the objects. Items that already exist in the database will be duplicated there. The duplicate items have an exclamation mark (!) appended to the item name to create a unique name from the old name. A new unique identifier is also generated.
- Click Cancel, and no data will be copied (regardless of whether it is duplicate or not).
Objects are not overwritten.
When simulation results, ground models and/or time series databases (TSDB) are copied, the Copying of Simulation Results, Ground Models and Time Series Databases dialog is displayed. This lists the simulation results, ground models and time series databases that have been selected for copying. This dialog gives you the choice to include or exclude certain data types from the copy process. The ability to leave any of this data out of the copy operation is quite useful as some of it is potentially very large:
- Check Copy Simulation Results if you want to copy simulation results.
- Check Copy Ground Models if you want to copy ground model data.
- Check No (only available when no simulation is present in the item to be copied), Yes - all data or Yes - only data referenced by copied simulations as required to copy time series database data.
- Click Continue to copy the selected data. Any model data required to reproduce the run will always be copied (see note below).
- Click Cancel to abandon the entire copy process.
Important note about runs and simulations
If runs or simulation results are copied between databases, any associated data needed to reproduce the run will also be copied as long as you follow the correct procedure.
If you paste the run into a Run Group in the destination database then:
- If the associated data (for example the network) has previously been copied into the destination database, InfoWorks ICM will restore the relationships between the run and this data.
- If the associated data is copied after the run, relationships will not be restored.
The recommended practice is to organise your data sensibly in model groups and then to copy entire model groups between databases.
When copying simulation results that are stored locally, rather than on the server, the copy operation will only be successful if the two master databases share the same remote root directory. See Results Management if you do not know where your results are stored.
When you copy a workspace between master databases, InfoWorks ICM will automatically copy all the underlying data required to recreate that workspace in the new database. You do not need to select this data yourself. This extremely powerful feature enables you to transfer complete projects easily and simply between databases.