There are three types of Synchronisation in kiss!®.
1.The Synchronisation of the kiss!® Data Model with the Data Model Database.
2.The Synchronisation of the Table Manifests with the kiss!® Data Model.
3.The Synchronisation of Version Numbers.
The Synchronisation of the kiss!® Data Model with the Data Model Database.
Please note: For the best results in SQL and Code Generation please ensure that all tables have a Primary Key and IDENTITY Column.
Reminder: When altering Table Column(s) remember to alter any Stored Procedures and / or Views that use the column(s).
To Synchronise the kiss!® Data Model with the Data Model Database simply click on the main form. A log will be displayed of differences at which point CREATE, DROP or ALTER SQL Scripts can be generated.
If there are changes that kiss!® is tracking a message will be given and the Logs dialog will be shown:
Select Destination SQL Project and click to generate all ALTER SQL Scripts. There are Logs for Tables, existing Stored Procedures and Views:
After refreshing the Solution the Table ALTER SQL Scripts will appear under a File Manifest called "SQL_ALTER_Table_Scripts". ALTER SQL Scripts for Stored Procedures and Views will appear under their relevant File Manifests:
To apply all the ALTER SQL Script to the Test Database click "Execute SQL File Manifest" or execute individual SQL Scripts as required. SQL Scripts for common database alterations (ADD (Table & Fields), DROP (Table & Fields), ALTER (Table & Fields) and Change Data Type (Fields)) can be built up during the course of the Development Cycle. These SQL Scripts can be Concatenated into a sing Patch SQL Script for execution against a database that needs to be upgraded.
The contents f the SQL Script can be viewed in the Preview Panel by selecting the required SQL Script. Please ensure that "Show File Preview" is checked in Options:
Issues During Synchronisation
It is recommended that Synchronisation be done regularly during Data Model Database changes. Issues can arise in the following scenarios:
·A View is renamed that is used by a Stored Procedure.
·A Table or Column is renamed that is used by a View or Stored Procedure.
If the alterations to the Stored Procedure or View that depend on altered Views or Columns are not made then errors will be raised by kiss!® during Synchronisation e.g.
Once Synchronisation is complete and kiss!® is refreshed the error can be viewed on the main form. The Database Object raising the error will be shown in red with the error message in the tool tip :
Once the Data Model Database has been altered to account for the changes (in this case renaming the View used by the Stored Procedure in the body of the Stored Procedure SQL, vwCustomerOrders was renamed to vwCustomerOrdersx), Synchronise kiss!® again. It may take several iterations of this process to flush out all the alterations and Synchronise kiss!® without any dependency errors.
The Synchronisation of the Table Manifests with the kiss!® Data Model.
If Table Manifests are required to be Synchronised with the kiss!® Data Model then please ensure "Synchronise Database Table Selections (Table manifests)" is checked on the Solution dialog. This would normally be the default behaviour but some circumstances may require Table Manifests to maintain individual Table Selections.
The Synchronisation of Version Numbers.
The Solution Version Number can be changed in the Solution dialog.
To synchronise all version numbers (for Projects, Table Manifests, File Manifests and Files) with the Version Number set for the Solution click "Synchronise Version Numbers" on the main form. To ensure all files contain the new version number in their headers the Solution must be re-generated.