hdi-deploy-poststart
v1.0.2
Published
Executes SQL script or scripts after standard hdi-deploy
Downloads
11
Maintainers
Readme
hdi-deploy-poststart
This module provides a library that can be used as poststart script for the @sap/hdi-deploy library.
It executes all commands in files contained in the /poststart directory.
Purpose
The deployment to HANA should sometimes be succeeded by one or multiple actions. Example: HANA offers the functionality to specify replication tasks. Those replication tasks offer the capability to replicate information from other data sources (i.e. ODATA). A classic example is the replication of the SuccessFactors EmpJoj entity. Even though a procedure is created to kick start the synchronization, it is not automatically executed on deployment. This approach allows the execution of SQL statements after the regular deploymemnt concluded.
Usage
- Install the library in your database deployment project via
npm install hdi-deploy-poststart
- Modify your your deployment project's package.json:
- Add a "poststart" script to file with the command "npx hdi-deploy-poststart"
- Create a subdirectory with the name 'poststart' in your deployment project's root directory.
- Place your file containing your SQL statements with i.e. the name 'statements.sql' into the poststart directory
Sample package.json
THe hdi-deploy package support 'prestart' and 'poststart' scripts. The 'poststart' script is executed after the deployment is finished and utilized in this example to execute SQL statements.
{
"name": "deploy",
"dependencies": {
"@sap/hdi-deploy": "^4",
"hdi-deploy-poststart": "^1"
},
"scripts": {
"start": "node node_modules/@sap/hdi-deploy/deploy.js",
"poststart": "npx hdi-deploy-poststart"
}
}
Sample .sql file
All files in the /poststart directory are parsed and assumed to be in SQL format. SQL statements must be separated by ';'. An example SQL file would look like this:
CALL "sf_synchronys.START_REPLICATION"();
select count(*) from tables;
Processing Steps
The poststart script will follow these steps:
- Find all files in the /poststart directory
- Parse content of each file and assemble an array of SQL statements
- Use the hana binding provided through one of the following to connect to the HANA instance
- Online through an environment variable
- Offline through a file like default-env.json
- Offline through a file like .env
- Execute all SQL statements sequentially and output its result to console.