Setting up the Alert Production Database for ap_pipe

ap_pipe.py needs an existing Alert Production Database (APDB) in which to store its results. Such a database will be provided externally during operations, but developers can run make_apdb.py to set up their own database for testing. This page provides an overview of how to use make_apdb.py.

Configuring the database

ap_pipe.py includes information about the database location and schema in its ApPipeConfig, and most users pass this information to the script through the --config and --configfile command-line options.

make_apdb.py also uses ApPipeConfig and the --config and --configfile options, so users can pass exactly the same arguments to make_apdb.py and ap_pipe.py. Supporting identical command line arguments for both scripts makes it easy to keep the database settings in sync.

For more information on the configuration options themselves, see lsst.dax.apdb.ApdbConfig. apdb.db_url has no default and must be set to create a valid config.

Examples

Databases can be configured using direct config overrides:

make_apdb.py -c apdb.isolation_level=READ_UNCOMMITTED apdb.db_url="sqlite:///databases/apdb.db" differencer.coaddName=dcr
ap_pipe.py -c apdb.isolation_level=READ_UNCOMMITTED apdb.db_url="sqlite:///databases/apdb.db" differencer.coaddName=dcr repo --calib repo/calibs --rerun myrun --id

make_apdb.py ignores any ApPipeConfig fields not related to the APDB (in the example, differencer.coaddName), so there is no need to filter them out.

Databases can also be set up using config files:

make_apdb.py -C myApPipeConfig.py
ap_pipe.py repo --calib repo/calibs --rerun myrun -C myApPipeConfig.py --id

Further reading