CM Tool Preview
The first client-facing version of the Aptify Configuration Migration (CM) Tool will be released soon (Q2 2016). Contact Aptify Technical Support for updates.
The following validation rules are available for use when packing and unpacking entity and metadata configurations.
Foreign Keys
Validates foreign keys. If, within the tested database, there is a reference to a table that does not exist, correct to ensure data integrity and proper database behavior.
Solution
Ensure entity link fields are present for all linked entities. In addition, check that foreign key references are valid.
- Missing/Incorrect Database Object Reference: A validation step to find all database objects referenced in the entities that are not referenced within a Database Objects Record. This would include views and stored procedures.
- Invalid untrusted users: Trusted user records that have moved from server to server during an entity unpacking action may have originated in a different domain. These users would have been saved to the target server as untrusted. Validation present in Aptify 5.0/SQL 2005 prevents saving untrusted users when a '\' character is present. The following user records were found on the source server which matches this condition. These user records should be removed or the user name altered to remove the '\' character.
- Unlinked Stored Procedure to Generated Entity: Generated Entity records linked to Database objects that are referenced when records are linked, updated, or deleted. These database objects are linked by name. If they are not linked, links must be created.
Validate Entity Fields [calculated] Database Objects
Validates database objects used for calculated fields are included with the entity. These database objects should be linked to the entity through the entity's DB Objects tab.
Solution
- Verify the database object is valid for the calculated field listed.
- Go the entity's DB object tab and confirm the field's database object is listed, if not, create it manually.
Specific Entity Field Validator
Validates field integrity by verifying the Entity Field Definition found in the EntityFields entity and the base table for the entity are the same.
Solution
- Open the field(s) in the list.
- Select the Options tab, uncheck the In Table option and save the entity, or regenerate the entity.
Missing/Incorrect Entity Linked Object Repository Object Reference
Validates all database objects have valid Database Objects record references. Including views and stored procedures.
Solution
If the missing metadata is present in the destination database then skip the validation rule and continue packing.
- Open the entity(s) listed and go to DB Object tab.
- Verify that the linked database object is valid, if not create or link a valid database object.
The query below will help you find all linked database objects in the database.
SELECT EntityID,RepositoryObject FROM [ENTITY_DATABASE]..EntityrepObjRequirement WHERE RepositoryObject <> '' AND RepositoryObject NOT IN( SELECT p.Name + '.' + ob.Name FROM [ENTITY_DATABASE]..ObjectRepositoryObject ob INNER JOIN [ENTITY_DATABASE]..ObjectPackage p ON p.ID = ob.ObjectPackageID)
Database Objects with GRANT SQL in the SQL Text
Validates SQL and Grant SQL syntax is on separate tabs. With legacy versions, there are instances when both are included on one tab. This needs to be corrected before continuing.
Solution
- Open that database object(s) listed and check the query written under the SQL tab.
- If it contains a Grant SQL statement, copy the code from the SQL tab to the Grant SQL tab.
- Missing Base Views: Any base Views not contained within APTIFY as an Database Object Record will not be transferred. Consider creating a DB Object Record for any view found within this validation, and link it to an appropriate Entity. Otherwise, you will need to manually create the view on the destination.
Invalid NULL Default Value for Entity Fields
Validates fields with a numeric SQL Data Type do not have a default value of NULL. You will need to change this value or the Entity will not unpack on the destination.
Solution
- Open the numeric field(s) listed.
- Check Default value under the field’s General tab
- If it has null value, replace it with appropriate numeric value.
- Application entity fields with blank param name: Param name is required field. Entity fields with blank param name must be identified before packing.
Indexes not Generated by Aptify
Validates all non-Framework entities have generated indexes. If not, indexes should be created manually.
Solution
- Open the entity(s) listed. If the entity does not exist, create a new entity.
- Select the Indexes Tab and the new index option.
- Drop the index created from backend and recreate it from the wizard.
- Pack this entity and unpack it on the destination server for creating required indexes.
Missing Object Repository Items
Validates that all Object Repository objects exist in the database. Icon related objects can be ignored, but all other missing objects must be relinked or the reference removed.
Solution
Verify the Object Repository Object(s) listed are valid. If the object does not exist, create it manually.
Unlinked Stored Procedures to Entity or Database Object
Validates that all Non-Generated database objects are linked to an entity or database object. Any item in this list will not be moved in the upgrade.
Solution
If you want the database object unpacked on the destination server, link the listed database object(s) to an entity or database object before packing. Otherwise, you will need to move the objects manually.
Base Table Not Generated on Database: Verify the Entity list present in Entity Entities but the base table is not created on the Aptify database.
- Validate Entity's Link Entities Record: The listed entities have failed validation due to missing Linked Entities records. Please ensure the listed Linked Entities are present in the destination server before unpacking the entities.