Configuration¶
The Pyrseas utilities allow you to configure various options through a number of YAML specification files, none of which are required–but the system configuration file is provided by the normal installation.
If a configuration parameter is specified in more than one file, the latter file in the list of files below overrides any earlier specification. Any configuration item specified on the command line takes precedence over any such item in a configuration file.
Configuration File Name¶
The default configuration file name is config.yaml
. If desired,
you can override this with the environment variable
PYRSEAS_CONFIG_FILE
, but be aware that this will affect all three
levels below.
System Configuration¶
The system configuration file is distributed with Pyrseas and is
normally installed in the pyrseas
library directory.
If desired, you can override this using the PYRSEAS_SYS_CONFIG
environment variable. This can be defined as a full path, including a
file name, or a directory location, in which case the default file
name as mentioned above under Configuration File Name will be
appended to the path.
Currently, this file includes specifications for functions, triggers and other objects used by the dbaugment utility. It also includes the default directory path for storing multiple YAML files in a VCS repository, and the path to data files for use by the data import and export facilities.
User Configuration¶
Each user can have his or her own configuration file. The default
location for this depends on the platform. Under Linux, BSD, OS/X and
other Unix variants, place the file under your home directory, in the
subdirectory .config/pyrseas/
. Under Windows, put the file in
%APPDATA%\pyrseas\
.
You can override the location of the user configuration file using the
PYRSEAS_USER_CONFIG
environment variable. This can be defined as
a full path, including a file name, or a directory location, in which
case the default file name as mentioned above under Configuration
File Name will be appended to the path.
If present, the user configuration file will be merged with the system configuration.
It is recommended that the user configuration file only be used for non-project-specific purposes. For example, if you frequently use Pyrseas against a remote database or on a non-standard port, you can specify the host or port in your personal configuration file.
Repository Configuration¶
A configuration file can be placed in a version control repository or
project directory, so that it can be under version control together
with other Pyrseas files such as the output from dbtoyaml
--multiple-files
. The default location for the repository can be
specified in the user configuration, using the keys repository
and
path
, for example:
repository:
path: /home/user/project/repo
You can also use the --repository
command line option to
specify (or override) the directory path to the root of the repository
and the utilities will look for a configuration file in that location.
If present, the repository configuration file will be merged with the system and user configuration information.