alphasoft-fr/sql-migration

2.0.0 2023-11-16 11:25 UTC

This package is auto-updated.

Last update: 2024-09-16 13:17:46 UTC


README

这是一个用于管理 SQL 数据库迁移的实用程序库和命令。

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

安装

使用 Composer

Composer 需求

composer require alphasoft-fr/sql-migration

要求

  • PHP 版本 8.1

使用方法

配置

  1. 在项目根目录创建一个名为 migration-config.php 的配置文件。以下示例可以作为起点:
<?php

return [
    'connection' => new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password'),
    'migrations_directory' => __DIR__ . '/migrations',
    // Other configuration options...
];
  1. 根据您的需求自定义配置选项。您可以提供 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 文件。