Files
ent/examples/migration/README.md

37 lines
889 B
Markdown

# 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.
```shell
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
go run -mod=mod ent/migrate/main.go <name>
```
### Run migration linting
```bash
go run -mod=mod ariga.io/atlas/cmd/atlas@latest migrate lint \
--dev-url="mysql://root:pass@localhost:3306/test" \
--dir="file://ent/migrate/migrations" \
--latest=1
```