mirror of
https://github.com/ent/ent.git
synced 2026-04-28 05:30:56 +03:00
Versioned Migration Example
The full reference example for https://entgo.io/docs/versioned-migrations#create-a-migration-files-generator.
Migration directory
Versioned migration files exists under ent/migrate/migrations and follows the golang-migrate format.
Changes to the Ent schema
1. Change the ent/schema.
2. Run go generate ./ent
Generate new versioned migration
1. Create a dev-database container if there is no one.
docker run --name migration --rm -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_DATABASE=test -d mysql
2. Generate a new versioned migration file:
go run -mod=mod ent/migrate/main.go <name>
Run migration linting
atlas migrate lint \
--dev-url="mysql://root:pass@localhost:3306/test" \
--dir="file://ent/migrate/migrations" \
--latest=1