As with all USoft "Create Tables" routines, the script will only ever refer to tables that have changed compared to a previous situation. In a Delivery Manager context, that previous situation is the previous release. If there is no previous release (ie., if the current release is initial), then all tables are considered "changed".
However, in addition, in Delivery Manager only, the create-tables script is further restricted to the set of tables registered for the Application and the Database Account in Delivery Manager's Application Tables list (choose Define, Application Tables to view this list) with Skip = No (the default).
You can bring this list up-to-date by running the " Populate tables list " action.
Why doesn't "Release create-tables script" do this automatically for you?
Because, if you work with modules or if you come to work with modules in the future, it is difficult to predict and automate just how you want a module's tables to be included. You may have reasons why you don't wish module tables to be upgraded just now, or if you do, it may not be self-evident from what source database account you want to have new table definitions (the ".CON" file for the module) generated. Also, complex relationships between module providers and module consumers may mean that you need to synchronise modules in a specific, hard-to-predict order.
You can manually exclude tables by setting Skip = Yes but this is NOT generally good practice unless you have special reasons.
Typical good task design for releasing a top-level application with modules is to include, in your release task, the following preparatory task steps. These steps must be executed prior to making the call to "Release create-tables script":
•(For each consumed module in scope) generate flatfiles in the location expected by the consumer(s) for synchronisation. •(Given multiple consumer - provider relationships) synchronise modules in a logical order, starting at "leaf node level", ie., with modules that are not themselves consumers, and ending with the top-level application, ie., an application that has no consumers, or at least no consumers that are in-scope for the release. •(For each module) generate flatfiles in the \APP subfolder of the USoft install folder, so that the solution as a whole may be run in Development, and so that the "Fill Authorizer Tables" routine may be run in USoft Authorizer in Development. •In Delivery Manager, populate the tables list for the top-level application. |