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.
boundary/internal/db/schema/migrations/README.md

27 lines
1.3 KiB

# migrations package
This package handles the generation of the database schema in a format that can
be compiled into the boundary binary.
## Organization
* `./generate`: contains the makefile, code, and templates needed to generate the schema info.
* `./postgres`: contains the versioned schema folders. The contents of these folders, except
for `dev` should not be modified.
## Usage
To regenerate the schema information into the format the boundary binary uses run
`make migrations` or `make gen` to recreate all generated code.
The content of the folders under `./postgres` are compiled into the
boundary binary and when the `boundary database init` or `boundary database migrate`
commands are executed they are applied in order of their version.
The `./postgres/dev` directory contains schema files that are under development and
are not included in a release yet and so it is the only directory where additions and
modifications are allowed. When a boundary binary is built when this directory is not
empty a special flag is required to run the `boundary database init` command to indicate
the user is aware that this is a development release and running this command can
result in a completely broken schema and dataloss.
When a new release is made the contents of the `dev` directory are moved into a new
versioned directory.