grizz-it / micro-dbal
Requires
- php: >=8.1
- doctrine/dbal: ^3.4
README
一个针对需要小型数据库管理实现的项目的极简DBAL实现。
添加迁移目录
为了添加包含迁移的目录,添加以下行
<?php use GrizzIt\MicroDbal\Migration\MigrationManager; MigrationManager::addMigrationsDirectory('directory/to/migrations');
添加数据库连接
为了创建新的数据库连接,添加以下行
<?php use GrizzIt\MicroDbal\Connection\ConnectionManager; ConnectionManager::addConnection( 'master', [ 'dbname' => $_ENV['DB_DATABASE'], 'user' => $_ENV['DB_USERNAME'], 'password' => $_ENV['DB_PASSWORD'], 'host' => $_ENV['DB_HOST'], 'port' => $_ENV['DB_PORT'], 'driver' => 'pdo_mysql', ] );
此调用中的第一个参数确定连接的键。
通过键检索连接
要按其键检索连接,请使用以下代码片段
<?php use GrizzIt\MicroDbal\Connection\ConnectionManager; ConnectionManager::getConnection('master');
创建迁移
在 migrations
目录中,为需要迁移的配置的连接创建一个同名文件夹。然后在那个文件夹中的任何位置添加迁移。让迁移实现接口 GrizzIt\MicroDbal\Migration\MigrationInterface
。
文件名应始终包含日期前缀:YYYY_MM_DD_HH_mm_SS_
。这部分将用于对迁移进行排序。
之后,文件内类的名称必须定义为小写,并使用下划线分隔单词,例如:CreateExampleTable
应为:YYYY-MM-DD_HH_mm_SS_create_example_table.php
。所有迁移名称必须唯一。
默认迁移
migrations
子目录是保留用于运行应针对每个连接运行的迁移的。
运行迁移
可以使用以下代码片段运行迁移
<?php use GrizzIt\MicroDbal\Migration\MigrationManager; MigrationManager::runMigrations();
这将运行所有连接(尚未运行)的所有迁移。
撤销迁移
要撤销迁移,请使用以下代码片段
<?php use GrizzIt\MicroDbal\Migration\MigrationManager; MigrationManager::revertMigration('2022_01_01_10_00_00_create_migrations_table.php');
MIT 许可证
版权所有 (c) GrizzIT
特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许软件的提供者有权进行此类操作,但前提是必须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任承担责任,无论此类责任是基于合同、侵权或其他方式引起的,不论此类责任是否与软件或软件的使用或其他方式有关。