alphasoft-fr / sql-migration
PHP SQL 迁移
2.0.0
2023-11-16 11:25 UTC
Requires
- php: >=8.1
- ext-pdo: *
- symfony/console: ^6.1
Requires (Dev)
- phpunit/phpunit: ^9.4
README
这是一个用于管理 SQL 数据库迁移的实用程序库和命令。
安装
使用 Composer
Composer 需求
composer require alphasoft-fr/sql-migration
要求
- PHP 版本 8.1
使用方法
配置
- 在项目根目录创建一个名为
migration-config.php
的配置文件。以下示例可以作为起点:
<?php return [ 'connection' => new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password'), 'migrations_directory' => __DIR__ . '/migrations', // Other configuration options... ];
- 根据您的需求自定义配置选项。您可以提供 PDO 连接实例并指定存储迁移文件的目录。
生成迁移文件
您可以使用以下命令生成新的迁移文件:
php vendor/bin/sqlmigration sql:migration:generate
这将在指定的迁移目录中创建一个新的迁移文件,其中包含向上迁移和向下迁移的占位符内容。
使用对应于预期迁移的 SQL 查询修改生成的迁移文件
-- UP MIGRATION -- CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); -- DOWN MIGRATION -- DROP TABLE users;
运行迁移
您可以使用以下命令应用挂起的迁移:
php vendor/bin/sqlmigration sql:migration:migrate
此命令将按照版本号的升序顺序执行所有挂起的迁移。成功应用的迁移将在控制台输出中显示。
回滚迁移
您可以使用以下命令回滚最后应用的迁移:
php vendor/bin/sqlmigration sql:migration:down <version>
将 <version>
替换为您想回滚的迁移的版本号。此命令将执行指定版本的 down 迁移,有效地回滚该迁移所做的更改。
贡献
如果您遇到任何问题或对改进有建议,请随时在 GitHub 仓库中提交问题。
许可证
该项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。