EdgeDB provides schema migration tools as server-side tools. This means that from the point of view of the application migrations are language- and platform-agnostic and don’t require additional libraries.

Using the migration tools is the recommended way to make schema changes.

First of all, the migration tools need a place to store the schema and migration information. By default they will look in dbschema directory, but it’s also possible to specify any other location by using schema-dir option. Inside this directory there should be an .esdl file with SDL schema description. It’s also possible to split the schema definition across multiple .esdl files. The migration tools will read all of them and treat them as a single SDL document.

edgedb migration create

Create a migration script

edgedb migration apply

Bring current database to the latest or a specified revision

edgedb migration log

Show all migration versions

edgedb migration show

Show current migration state