# Validating the metadata and storage

Once the table metadata has been generated, to prevent data inconsistency issues, it is strongly recommended to check the validity of the metadata and the Storage Zone. For example, for the metadata to be valid, each of the tables must have a Business Key.

Information note

Validating the metadata does not recalculate expressions for historical data that has changed.

To validate the metadata:

1. Click the **Validate** button in the bottom right of the Metadata panel.

   Compose will run validation checks and identify any entities which are not valid.

   If the metadata is valid, the following message will be displayed:

   `Validation tests completed successfully. No issues were detected`.

   If the metadata is not valid, the **Validating Storage Zone** window opens. This window is divided into the following columns:

   * **Severity:** Warning or Error.
   * **Message:** A message indicating why the entity is invalid.
   * **Names:** The names of the affected entities.
   * **Resolve:** To open the **Manage Metadata** window and manually resolve the issue, click the **Edit Entities** button.

2. Resolve the issue (for example, by adding a Business Key) and then click **Close**.

   The Validate Metadata window will open.

3. Click the Refresh button in the top left corner.

   A message will confirm the metadata’s validity.

4. Click **Close** to exit the window.

To validate the Storage Zone:

1. Click the **Validate** button in the bottom right of the Storage Zone panel, or select **Validate** from the drop-down menu in the top right of the **Storage Zone** panel.

2. Compose will run a series of validation checks and the **Validating the Storage** window opens.

   If the Storage Zone metadata is not valid, the following message will be displayed:

   `The metadata is not valid.`

   If the Storage Zone is valid, the following message will be displayed:

   `The Storage Zone is valid.`

   If the metadata in the Manage Metadata window is not the same as the Storage Zone metadata, the following message will be displayed:

   `The Storage Zone is different from the metadata.`

3. [](https://help.qlik.com/en-US/compose/Content/ComposeDWDL/Main/DL/Model/validate_model.htm)This step is only applicable if the Storage Zone metadata differs from the metadata in Compose. Review the report in the **Metadata and Storage Comparison Report** window and then do one of the following:

   * If all the changes can be adjusted automatically, do one of the following according to your configuration::

     * Click **Adjust Automatically**. The **Adjust Storage Zone** progress window opens. When the "The Storage Zone was adjusted successfully." message is displayed, close the window.
     * If the [Generate DDL scripts but do not run them](https://help.qlik.com/en-US/compose/December2024/Content/ComposeDWDL/Main/DW/Projects/edit_project_settings.htm#generate_ddl_scripts) option is set, click **Generate Adjust Script**.

     Information note

     Automatic adjust supports ADD ENTITY, DROP ENTITY, and ADD ATTRIBUTE (if it's the last attribute in the entity) only.

   * If some or none of the changes cannot be adjusted automatically, the **Adjust Automatically** button will not be shown. In this case, do one of the following according to your configuration:

     * Click **Drop and Recreate Tables**. You will be prompted to confirm this action. Click Yes. The Dropping Storage Tables window opens. When the "The Storage Zone tables were dropped and recreated successfully." message is shown, close the window.
     * If the [Generate DDL scripts but do not run them](https://help.qlik.com/en-US/compose/December2024/Content/ComposeDWDL/Main/DW/Projects/edit_project_settings.htm#generate_ddl_scripts) option is set, click **Generate DDL Script**.

   Clicking Generate Adjust Script or Generate DDL Script

   When you click **Generate Adjust Script** or Generate DDL Script, the **Generate DDL Scripts** window opens showing the progress of the script generation.

   The generated scripts will be saved to:

   &lt;product\_dir&gt;\data\projects\&lt;project\_name&gt;\ddl-scripts

   Once the script(s) have been generated, close the **Generate DDL Scripts** window.

   When working with a Hive-based compute platform, after you close the **Generate DDL Scripts** window, the **DDL Script Files** window opens automatically displaying the generated scripts. The DDL Script Files window provides a read-only view that allows you to review the scripts and download them.

   The scripts need to be executed directly in your Storage Zone. Make sure that any modifications that you make to the scripts are done prior to executing them.

   Information note

   When you run the adjust scripts, backup tables are created from the existing tables. The backup table names are appended with an "\_old" suffix and must be deleted manually after the script completes.

   Information note

   Search for "TODO" in the script to locate the part of the script that needs modifying.

4. Close any open validation windows.

See also: [Supported characters](https://help.qlik.com/en-US/compose/December2024/Content/ComposeDWDL/Main/DL/Supported%20Characters/supported_characters.htm).