Add TheTool database migration documentation

This commit is contained in:
2024-02-07 15:47:45 +01:00
parent c7c16830f7
commit f407aeeca5

54
db/README.md Normal file
View File

@@ -0,0 +1,54 @@
# 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) .