faimmedia / migration
FaimMedia 简单 PHP 数据库迁移库
0.2
2024-06-09 12:26 UTC
Requires
- php: ^8.2
- ext-pdo: *
Requires (Dev)
- ext-pdo_pgsql: *
- ext-pgsql: *
- phpunit/phpunit: ^10.3
This package is auto-updated.
Last update: 2024-09-09 13:03:36 UTC
README
Simple PHP migration library to use with any available PHP PDO driver.
安装与使用
添加 composer
使用 composer 安装此库
composer require faimmedia/migration
运行迁移(使用 CLI)
使用 ./vendor/bin/migrate
命令运行迁移。
示例
./vendor/bin/migrate \
--path=migration/path \
--dsn="pgsql:host=postgres;dbname=database" \
--username=postgres
要迁移到特定版本,您还可以包含 --version
参数。这将仅应用或撤销特定版本。
./vendor/bin/migrate \
--path=migration/path \
--dsn="pgsql:host=postgres;dbname=database" \
--username=postgres \
--version=0002
运行迁移(从 PHP)
<?php use FaimMedia\Migration\Migration; use FaimMedia\Migration\Migration\Logger\Color; /** * Initialize */ $migration = new Migration([ 'dsn' => '', 'username' => 'username', 'password' => 'my-super-secret-password', ], new Color()); /** * Run all migrations */ $migration->run();
或者您可以运行一组特定的迁移
已经应用的迁移如果存在特定版本和名称的 -down
文件,则会被回滚。
$migration->run('0003');
开发
启动 docker 容器
docker compose up -d
运行测试
./bin/test
运行迁移 CLI
docker compose exec -T test /app/bin/migrate --dsn=pgsql:host=postgres --username=migrate-test --path=/app/test/sql