fyre/migration 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

fyre/migration

Composer 安装命令:

composer require fyre/migration

包简介

A database migration library.

README 文档

README

FyreMigration is a free, open-source migration library for PHP.

Table Of Contents

Installation

Using Composer

composer require fyre/migration

In PHP:

use Fyre\Migration\MigrationRunner;

Basic Usage

$runner = new MigrationRunner($container, $loader, $connectionManager, $forgeRegistry);

Autoloading

It is recommended to bind the MigrationRunner to the Container as a singleton.

$container->singleton(MigrationRunner::class);

Any dependencies will be injected automatically when loading from the Container.

$runner = $container->use(MigrationRunner::class);

Methods

Add Namespace

Add a namespace for loading migrations.

  • $namespace is a string representing the namespace.
$runner->addNamespace($namespace);

Clear

Clear all namespaces and migrations.

$runner->clear();

Get Connection

Get the Connection.

$connection = $runner->getConnection();

Get Forge

Get the Forge.

$forge = $runner->getForge();

Get History

Get the MigrationHistory.

$history = $runner->getHistory();

Get Migrations

Get all migrations.

$migrations = $runner->getMigrations();

Get Namespaces

Get the namespaces.

$namespaces = $runner->getNamespaces();

Has Namespace

Determine whether a namespace exists.

  • $namespace is a string representing the namespace.
$hasNamespace = $php->hasNamespace($namespace);

Migrate

Migrate to the latest version.

$runner->migrate($latestVersion);

Rollback

Rollback to a previous version.

  • $batches is a number representing the number of batches to rollback, and will default to 1.
  • $steps is a number representing the number of steps to rollback, and will default to null.
$runner->rollback($batches, $steps);

Set Connection

Set the Connection.

$runner->setConnection($connection);

Remove Namespace

Remove a namespace.

  • $namespace is a string representing the namespace.
$runner->removeNamespace($namespace);

Migrations

Migrations can be created by extending the \Fyre\Migration\Migration class, prefixing the class name with "Migration_".

To allow discovery of the migration, add the the namespace to the MigrationRunner.

Down

Perform a "down" migration.

$migration->down();

Up

Perform an "up" migration.

$migration->up();

Migration Histories

Add

Add a migration version to the history.

  • $name is a string representing the migration name.
  • $batch is a number representing the batch number.
$history->add($name, $batch);

All

Get the migration history.

$all = $history->all();

Delete

Delete a migration from the history.

  • $name is a string representing the migration name.
$history->delete($name);

Get Next Batch

Get the next batch number.

$batch = $history->getNextBatchNumber();

Commands

Migrate

Perform database migrations.

  • --db is the ConnectionManager config key, and will default to ConnectionManager::DEFAULT.
$commandRunner->run('db:migrate', ['--db', 'default']);

Rollback

Perform database rollbacks.

  • --db is the ConnectionManager config key, and will default to ConnectionManager::DEFAULT.
  • --batches is the number of batches to rollback, and will default to 1.
  • --steps is the number of steps to rollback, and will default to null.
$commandRunner->run('db:rollback', ['--db', 'default', '--batches', '1', '--steps', 1]);

fyre/migration 适用场景与选型建议

fyre/migration 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 128 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 06 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 fyre/migration 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 fyre/migration 我们能提供哪些服务?
定制开发 / 二次开发

基于 fyre/migration 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 128
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 5
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-06-12