p0n0marev/bitrix-orm-migrations

Bitrix ORM数据库迁移

该软件包的规范存储库似乎已消失,因此软件包已被冻结。

0.5 2018-06-09 11:05 UTC

This package is auto-updated.

Last update: 2024-03-13 16:30:27 UTC


README

自动创建和应用ORM 1C-Битрикс数据库迁移文件。

安装

composer require p0n0marev/bitrix-orm-migrations

如何在控制台使用(以symfony/console为例)。

安装组件 composer require symfony/console

创建一个包含以下内容的文件

#!/usr/bin/env php
<?php
define("NOT_CHECK_PERMISSIONS", true);
$_SERVER["DOCUMENT_ROOT"] = __DIR__ . DIRECTORY_SEPARATOR . '../www';
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";

use \Symfony\Component\Console\Application;

require __DIR__ . '/../vendor/autoload.php';

$application = new Application();
$application->add(new \P0n0marev\BitrixMigrations\Command\DiffCommand());
$application->add(new \P0n0marev\BitrixMigrations\Command\MigrateCommand());
$application->add(new \P0n0marev\BitrixMigrations\Command\RollbackCommand());
$application->add(new \P0n0marev\BitrixMigrations\Command\StatusCommand());
$application->run();

运行 php app/console.php migrations:status

可用命令

migrations:status 可用数量
migrations:diff 创建迁移文件
migrations:migrate 运行未处理的 migrations:rollback 回滚最后一个

关于symfony/console的更多信息 https://symfony.com.cn/doc/current/console.html

如何在脚本中使用

<?php
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');

$migrate = new P0n0marev\BitrixMigrations\Migrate();

// Создать файл миграции
$migrate->diff();
// запустить необработаные
$migrate->migrate();
// количество доступных
$migrate->status();
// откатить последнюю
$migrate->rollback();

已执行迁移的历史将保存在migration_versions表中。如果需要,该表将自动创建。