Automate database update.

Posted by per.lanvin@fouredge.se on 05-Mar-2019 08:37

Hi,

This is my first post so please let me know if this belongs in another group etc..

I would like to find out if there are command line options when updating the database. Ie, instead of typing dbm login <mydb> and managing the update via the GUI presented. File > Tools > Data Dictionary > Admin > Load Data and Definitions ............. 

Are there arguments/options or other tools that would let me do this on the command line?

Any hints are greatly appreciated.

Rgds

/PL

All Replies

Posted by gus bjorklund on 12-Jun-2019 16:30

The are numerous methods available. Here are some to get you started.

1. when starting the progress session in tty mode, you can specify the name of a 4GL program to be executed.

if server for database foo is running,

mpro foo -p prog.p

if not,

pro foo -p prog.p

2. you can load data previously dumped using the binary dump tool by running the binary load tool:

proutil foo -C load customer.bd

3. you can load table definitions by creating a small program create.p with the following contents

run prodict /load_df.p (".", "customer.df").

to execute:

mpro foo -p create.p

if you want to create more than one table, you just add more lines to create.p

4. you can write a custom program to load data into any existing table by creating a program that creates records and assigns values to the columns. then execute using the -p argument to the mpro or pro commands.

Posted by James Palmer on 13-Jun-2019 08:12

We use ANT and PCT. PCT is a free plugin for ANT to provide OE functionality to it. It's basically an automation wrapper around the utilities that Gus mentions above, but it does make it a lot easier, and you can build whole processes to run through.

One of the things we have done is to create a script that will create a dummy database with the new schema, automatically create a delta to your real database, and then load that delta.

This has a lot of advantages, not least of all not having to keep hundreds and hundreds of delta dfs in source control so that people can migrate from one version to another.

This thread is closed