doublemcz/dibi-migrations

基于dibi的简单数据库迁移层

1.1.2 2014-12-27 08:42 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:18:51 UTC


README

Dibi迁移可以通过Composer安装。

安装

composer require doublemcz/dibi-migrations

基本用法

将以下代码包含到您想要迁移数据库的脚本中

$config = array(
	'driver' => 'mysql',
	'host' => 'localhost',
	'user' => 'root',
	'password' => '',
	'database' => 'dibi-migrations',
);
$dibiConnection = new DibiConnection($config);
$migrationsPath = __DIR__ . '/migrations';
$tempDirectory = __DIR__ . '/temp';

$engine = new doublemcz\DibiMigrations\Engine($dibiConnection, $migrationsPath, $tempDirectory);
$engine->process();

Nette 2.2中的用法

您可以使用Nette扩展来初始化引擎并自动运行迁移。在config.neon中添加以下行

extensions:
 dibiMigrations: Doublemcz\DibiMigrations\DibiMigrationsNetteExtension22

创建迁移

迁移文件夹由开发新代码的人员标识符组成。您必须为每位开发者使用唯一标识符。迁移目录的结构应如下所示

 app =>
  doublem =>
    2014_12_24_18_00.sql
    2014_12_31_23_00.sql
  foglcz =>
    2015_01_01_17_05.sql

您可以看到用户doublem的两个迁移。第一个是在2014年12月24日18:00创建的。另一个用户foglcz在2015年1月1日17:05创建了迁移。

保持有效的日期是非常重要的,因为如果您将部署到生产环境,引擎会排序迁移并将它们按正确顺序部署。

临时目录用于保存临时迁移目录的状态文件。它包含迁移的文件数和锁文件。迁移状态文件夹(db-migration.dat)包含文件数。在升级运行时创建迁移锁文件(db-migration.lock)。

我建议您查看./example/index.php。

最后,我想感谢dibi库的创始人David Grudl。