54 lines
1.5 KiB
Markdown
54 lines
1.5 KiB
Markdown
# TheTool Database Migrations
|
|
## Introduction
|
|
|
|
This project utilizes Phinx for Database Migrations
|
|
|
|
## Table of Contents
|
|
- [Initializing Phinx](#Initializing)
|
|
- [Creating Migrations](#creating-migrations)
|
|
- [Migrating / Rolling Back](#migrating--rolling-back)
|
|
- [Documentation](#documentation)
|
|
|
|
## Initializing
|
|
|
|
To start using Phinx for database migrations, you first need to initialize Phinx and set up your configuration. Run the following command in your project directory:
|
|
|
|
```bash
|
|
vendor/bin/phinx init
|
|
```
|
|
|
|
After initialization, add two environments: `thetool` and `thetool_addressdb` to your Phinx configuration to ensure it functions correctly with TheTool's database setup.
|
|
|
|
## Usage
|
|
### Creating Migrations
|
|
|
|
To create a new database migration, use the command below
|
|
|
|
Custom Template -t : `db/template/migrate.up_down.template`
|
|
Replace `{MIGRATION_NAME}` : Example `AddNewTable`
|
|
|
|
```bash
|
|
vendor/bin/phinx create {MIGRATION_NAME} -t db/template/migrate.up_down.template
|
|
```
|
|
|
|
A new migration file will be created in `db/migrations`
|
|
|
|
### Migrating / Rolling Back
|
|
|
|
Use the following command to apply the migrations.
|
|
|
|
Use `-t={TARGET_TIMESTAMP}` to go to a specific migration target
|
|
Use `--dry-run` to simulate the Migratio
|
|
|
|
```bash
|
|
vendor/bin/phinx migrate [-t={TARGET_TIMESTAMP}] [--dry-run]
|
|
```
|
|
|
|
Use the following command to undo the migrations.
|
|
|
|
```bash
|
|
vendor/bin/phinx rollback [-t={TARGET_TIMESTAMP}] [--dry-run]
|
|
```
|
|
## Documentation
|
|
|
|
For more detailed information on using Phinx, visit the [Phinx documentation](https://book.cakephp.org/phinx/0/en/intro.html) . |