faimmedia/migration

FaimMedia 简单 PHP 数据库迁移库

0.2 2024-06-09 12:26 UTC

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