Files
threshold/internal/db/schema/migrations
Jeff Mitchell 528d54b4ad Add token/userinfo claims to account read output (#1419)
This is very useful when trying to write managed groups filters as you
can directly look at the structure of the claims for the accounts you're
trying to filter.

The output of the claims in text format on the CLI currently leaves
something to be desired. I started revamping some of the formatting
functions and it quickly got very fragile. Fundamentally at this point
we're likely better off -- now that we have a good idea what our output
format/standards are like -- rewriting the formatting code. I'll take
that as a tasker as I have a lot of ideas...
2021-07-26 17:52:18 -04:00
..

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.