Execute using Subset
It's time to execute your template on the database! In the menu bar next to the Project Settings and Development, there is the Deployment section. Lets take a closer look at the Deployment view.
On the top we have three buttons to start, pause and abort a subset run. Below the three buttons we have a progress bar that gives an indication of how far the subset process is. Below the progress bar there is a monitor that contains information about the different actions that are currently being executed.
Below the monitor we have some advanced options. DATPROF Subset will bypass triggers, constraints and indexes on the database by dropping or disabling them. After the run has finished all the triggers, constraints and indexes will be restored.
If you abort a run it could be that some constraints, triggers and indexes are not correctly restored. Always try to let DATPROF Subset finish the run to prevent missing indexes, constraints or disabled triggers. At the beginning of a run a RestoreDDL.sql script is generated containing all bypassed objects that you can use to restore your database in case of an aborted run.
There a multiple deployment strategies to deploy your template. If you click the the start button, you can choose between four deployment stategies to run your template.
- (Re-)Create: In this strategy all tables will be recreated in your target database before the subset process will be executed. Use this strategy if your target database does not contain the imported tables yet. This mode does not fully copy all objects from the source database to the target database. It will only creates the tables based on imported meta data.
- (Re-)Fill: This is probably the most used strategy. The subset run will clean (truncate) all existing tables and than subsets the data into the tables. The advanced bypass system will make sure that database objects are temporary be disabled or dropped to increase performance.
- Append: This will insert data directly into the tables inside your target database. If these tables contain data that are also being subsetted from the source database, it will cause primary key violations.
- Unique append: This strategy will make sure that if the target tables contain data, that there will be no duplicated data inserted into target tables.
Now lets execute your template on your training database
- Swith from Development to Deployment
- Click Start to start your subset run
- A confirmation popup will ask you which deployment stategy you want to choose, Click (Re-)Fill to start the subset process.
Now you have to sit and wait for DATPROF Subset to execute all the different actions on the database. There could be two scenario's! Everything went perfect and after a couple minutes your first subset run finished correctly. Or if there is a mistake in your template an error will occur during the run. In that case the Errors... button will be enabled and the module that contains the error will be shown in red.
- Click the Logging tab to get a technical logging of the subset run.
If there are errors, you can do the following
- Click the Errors... button in the top right corner
- Select the first error of the list
- You will see the database error of the module that went into error, there are a couple of common errors
- Development errors: You have made a mistake in the configuration, for example in the Start or Additional filter you made a spelling mistake.
- Permission errors: You don't have the right permissions on your database to complete the function.
- Database errors: These errors occur if your database is not configured correctly for the task. For example not enough temp space.
Most errors can be fixed during the run. For development errors, return to the development area and find and repair your mistake. For Database or Permission error, you may need to ask a database administrator to help you out. Then return to the Errors window. Select the error en choose Retry as Action and click Apply to retry the module. If you cannot fix this issue during the run, choose Skip en click Apply to continue the run.
If you got stuck, just take a look at the following video clip