Validate that Foreign Keys are Unique

Search Knowledge Base by Keyword

< Back

The VALIDATEFKEYS Action checks that Foreign Keys and “soft” Primary Keys in the Staging Database are valid.  It will check all Foreign Keys where

  1. The Foreign Key is set to “Active” in either the ForeignKeys or SoftKeys Sheet.
  2. The relevant Foreign Key table and Primary key table is set to “Active” in the Tables Sheet.

To be valid, Foreign Key must refer to a column in another table with a valid, corresponding value.

To run VALIDATEFKEYS, open The VIP Server Controller from your desktop or start menu. You must open it as an administrator. If The VIP Server Controller is already running, make sure the relevant .vip workflows are Put in Memory. See this article for instructions.

Next, complete the mandatory parameters in the “Run Flow” tab. If working from a Config file created for the current Subset, you should only need to update the parAction argument and enter any additional optional parameters. You will need to update the location of the Subset Report and SQLActionsPath if these have changed. See this article for instructions on working with a Config file.

Specify “VALIDATEFKEYS” for parACTION:

parAction= VALIDATEFKEYS

Complete any optional parameters. See this Knowledge Base article for a full list of Arguments and example parameters.

If you are working from scratch, see this article for instructions on parameterising your action.

Once you have parameterized the VALIDATEFKEYS Action, make sure your Configuration Spreadsheet, Subset Report and Log file are all shut. Next, click “Create File” and then click “Start” to run the action.

In the output dialogue, you will see “Flow execution completed on remote server. Please check logs for details.” once the VALIDATEFKEYS Action is complete”:

If you receive an error message in your output dialogue or log, please refer to this article to troubleshoot common issues. You can also run your Action on debug mode for a more detailed log. You can also check the Log File and Subset Report at this stage, to check that the Actions have performed correctly.

The results are created in the Subset Report:

Data Subsetting

The results can also be analysed in the Log File:

Data Subsetting

In both instances, “All foreign keys satisfied” means that all Foreign Key constraints are met. Otherwise, the number of non-unique keys is reported.

Run VALIDATEFKEYS from the Command Line

To run VALIDATEFKEYS from the Command Line, first open your re-usable .cmd script in a text editor.

If you have already configured a .cmd script for one Subset Action and wish to edit and re-use that script, you should only need to specify “VALIDATEFKEYS” for  -parAction=””:

Otherwise, configure all mandatory parameters in the .cmd script. You should also specify the location of the Subset Report using -parReportFile.

You can also specify optional parameters for the Action. You should also specify the location of the Subset Report using -parReportFile.

Make sure your Control Spreadsheet, the Subset Report, and any Log Files are closed.

The results are created in the Subset Report:

Data Subsetting

The results can also be analysed in the Log File:

Data Subsetting

In both instances, “All foreign keys satisfied” means that all Foreign Key constraints are met. Otherwise, the number of non-unique keys is reported.