The Database Refresh Wizard updates multiple database-related object definitions simultaneously. When you point the Database Refresh Wizard to an existing Data Source, the CIC Studio detects changes made to the database, and it updates that Data Source to reflect those changes. Then, you can apply those additions, renames, and field changes to one or more selected Database Schemas that reference that Data Source. By extension, Database Adapters that reference those Database Schemas are automatically updated.
How does the Database Refresh Wizard differ from earlier versions?
In earlier versions of the Studio, you had the ability to update and refresh Schemas to reflect changes in a back-end database. These changes however, were global in nature – that is, you either had to accept all changes or none at all; you did not have the ability to choose only those changes you wanted. Plus, in order to keep the objects in sync with each other, objects had to be updated separately; The Data Source, then the Database Schemas, followed by manual changes in the Data Binding, for example. The current Database Refresh Wizard now gives you that ability to be selective when applying updates, and also identifies all Schemas that are affected by the changes, allowing you to update them all at once, as opposed to one-by-one.
Does the Database Refresh Wizard automatically apply deletions to Database Schemas?
No. When the Database Refresh Wizard detects a deletion, the deleted table or column will be removed from the Data Source, as well as from the Database Adapter's Data Bindingssection, including any references to them from the Interactions in the Properties view. When the interaction has only one binding, the entire interaction will be deleted. However, the Database Refresh Wizard will not delete a table or column from any Database Schemas – doing so causes errors in any dependent object. You must manually apply these changes by modifying each Database Schema, including any associated Rulesets.
Example: Changes to a back-end database
Additional columns have been added to a table in my back-end database (used by my Studio Integration). Use the Database Refresh Wizard to add them to a Database Schema, populate the columns with data, and reflect this change into the Studio. This could also apply to other changed database attributes, such as a modified data type or length value.
Example: Your Trading Partner sends data that has changed, and a new table needs to be added to your existing Database Schema.
But running the Database Refresh Wizard doesn't detect the change, and so I can't update my Schema. What do I do now?
You will edit the Data Source, and then run the Database Refresh Wizard so that it recognizes the edit. Here's how it can be done.
- Open the Data Source editor and delete the table/record (that you need in your Database Schema) from the Database Metadata section.
- Save changes and close the Data Source editor.
- Run the Database Refresh Wizard. When prompted to select the tables or records to be refreshed, the deleted table/record (from the Data Source) should now be an option, since the Database Refresh Wizard now identifies this deletion (from Step 1) as an update.
- Follow the normal process to select tables for update, and apply changes.
- Add the table/record to the Schema or Schemas.
Another example could be when a table is accidentally deleted from a Schema; the steps above would return the table back to the Database Schema.