You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
4.9 KiB
134 lines
4.9 KiB
/*
|
|
* Graphile Migrate configuration.
|
|
*
|
|
* If you decide to commit this file (recommended) please ensure that it does
|
|
* not contain any secrets (passwords, etc) - we recommend you manage these
|
|
* with environmental variables instead.
|
|
*
|
|
* This file is in JSON5 format, in VSCode you can use "JSON with comments" as
|
|
* the file format.
|
|
*/
|
|
{
|
|
/*
|
|
* connectionString: this tells Graphile Migrate where to find the database
|
|
* to run the migrations against.
|
|
*
|
|
* RECOMMENDATION: use `DATABASE_URL` envvar instead.
|
|
*/
|
|
// "connectionString": "postgres://appuser:apppassword@host:5432/appdb",
|
|
|
|
/*
|
|
* shadowConnectionString: like connectionString, but this is used for the
|
|
* shadow database (which will be reset frequently).
|
|
*
|
|
* RECOMMENDATION: use `SHADOW_DATABASE_URL` envvar instead.
|
|
*/
|
|
// "shadowConnectionString": "postgres://appuser:apppassword@host:5432/appdb_shadow",
|
|
|
|
/*
|
|
* rootConnectionString: like connectionString, but this is used for
|
|
* dropping/creating the database in `graphile-migrate reset`. This isn't
|
|
* necessary, shouldn't be used in production, but helps during development.
|
|
*
|
|
* RECOMMENDATION: use `ROOT_DATABASE_URL` envvar instead.
|
|
*/
|
|
// "rootConnectionString": "postgres://adminuser:adminpassword@host:5432/postgres",
|
|
|
|
/*
|
|
* pgSettings: key-value settings to be automatically loaded into PostgreSQL
|
|
* before running migrations, using an equivalent of `SET LOCAL <key> TO
|
|
* <value>`
|
|
*/
|
|
"pgSettings": {
|
|
// "search_path": "app_public,app_private,app_hidden,public",
|
|
},
|
|
/*
|
|
* placeholders: substituted in SQL files when compiled/executed. Placeholder
|
|
* keys should be prefixed with a colon and in all caps, like
|
|
* `:COLON_PREFIXED_ALL_CAPS`. Placeholder values should be strings. They
|
|
* will be replaced verbatim with NO ESCAPING AT ALL (this differs from how
|
|
* psql handles placeholders) so should only be used with "safe" values. This
|
|
* is useful for committing migrations where certain parameters can change
|
|
* between environments (development, staging, production) but you wish to
|
|
* use the same signed migration files for all.
|
|
*
|
|
* The special value "!ENV" can be used to indicate an environmental variable
|
|
* of the same name should be used.
|
|
*
|
|
* Graphile Migrate automatically sets the `:DATABASE_NAME` and
|
|
* `:DATABASE_OWNER` placeholders, and you should not attempt to override
|
|
* these.
|
|
*/
|
|
"placeholders": {
|
|
// ":DATABASE_VISITOR": "!ENV", // Uses process.env.DATABASE_VISITOR
|
|
},
|
|
/*
|
|
* Actions allow you to run scripts or commands at certain points in the
|
|
* migration lifecycle. SQL files are ran against the database directly.
|
|
* "command" actions are ran with the following environmental variables set:
|
|
*
|
|
* - GM_DBURL: the PostgreSQL URL of the database being migrated
|
|
* - GM_DBNAME: the name of the database from GM_DBURL
|
|
* - GM_DBUSER: the user from GM_DBURL
|
|
* - GM_SHADOW: set to 1 if the shadow database is being migrated, left unset
|
|
* otherwise
|
|
*
|
|
* If "shadow" is unspecified, the actions will run on events to both shadow
|
|
* and normal databases. If "shadow" is true the action will only run on
|
|
* actions to the shadow DB, and if false only on actions to the main DB.
|
|
*/
|
|
|
|
/*
|
|
* afterReset: actions executed after a `graphile-migrate reset` command.
|
|
*/
|
|
"afterReset": [
|
|
// "afterReset.sql",
|
|
// { "_": "command", "command": "graphile-worker --schema-only" },
|
|
],
|
|
/*
|
|
* afterAllMigrations: actions executed once all migrations are complete.
|
|
*/
|
|
"afterAllMigrations": [
|
|
// {
|
|
// "_": "command",
|
|
// "shadow": true,
|
|
// "command": "if [ \"$IN_TESTS\" != \"1\" ]; then ./scripts/dump-db; fi",
|
|
// },
|
|
],
|
|
/*
|
|
* afterCurrent: actions executed once the current migration has been
|
|
* evaluated (i.e. in watch mode).
|
|
*/
|
|
"afterCurrent": [
|
|
// {
|
|
// "_": "command",
|
|
// "shadow": true,
|
|
// "command": "if [ \"$IN_TESTS\" = \"1\" ]; then ./scripts/test-seed; fi",
|
|
// },
|
|
],
|
|
/*
|
|
* blankMigrationContent: content to be written to the current migration
|
|
* after commit. NOTE: this should only contain comments.
|
|
*/
|
|
// "blankMigrationContent": "-- Write your migration here\n",
|
|
|
|
/****************************************************************************\
|
|
*** ***
|
|
*** You probably don't want to edit anything below here. ***
|
|
*** ***
|
|
\****************************************************************************/
|
|
|
|
/*
|
|
* manageGraphileMigrateSchema: if you set this false, you must be sure to
|
|
* keep the graphile_migrate schema up to date yourself. We recommend you
|
|
* leave it at its default.
|
|
*/
|
|
// "manageGraphileMigrateSchema": true,
|
|
|
|
/*
|
|
* migrationsFolder: path to the folder in which to store your migrations.
|
|
*/
|
|
// migrationsFolder: "./migrations",
|
|
|
|
"//generatedWith": "1.2.0"
|
|
}
|
|
|