luxbet/mysql-php-migrations

该软件包最新版本(dev-master)没有可用的许可信息。

管理MySQL数据库迁移的命令行实用工具

安装: 237

依赖者: 0

建议者: 0

安全: 0

星标: 4

关注者: 5

分支: 54

类型:项目

dev-master 2016-09-09 04:52 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:57:05 UTC


README

此项目旨在解决在积极开发的PHP/MySQL项目中维护数据库变更的问题。通常,多个开发者需要能够快速更新其本地沙盒以包含最新的数据库模式变更,并添加自己的变更而不会在CVS和Subversion等代码库中产生文件冲突。

MySQL-PHP-Migrations具有以下功能

  • 仅命令行工具
  • 使用时间戳存储迁移文件以减少代码库冲突
  • 可以列出、向上迁移、向下迁移、运行特定迁移以及迁移到最新数据库版本
  • 每个迁移都封装在一个事务中,以便于错误恢复
  • 将迁移信息存储在数据库表中,以支持交织(在已运行的迁移之间插入迁移)
  • 内联帮助
  • 支持PDO与MySQL驱动或mysqli
  • 可以存储初始数据库模式,允许从初始模式及其现有迁移中擦除和重建整个数据库结构

2.2.0-luxbet版本的新更改

  • 支持--dry-run / -p选项:在不进行任何数据库更改的情况下尝试
  • 可以将迁移文件按组存储在/db下的单独文件夹中(当使用./migrate.php add时,它仍然存储在/db下,但您可以在稍后将其移动到其他位置)
  • 包含上次运行的所有迁移文件的SQL的日志文件(log.sql)
  • 修复错误和更友好的CLI提示
  • 您可以重新定义MPM_PATHMPM_CONFIG_FILE_PATH,以便在多个项目中共享一个安装
#!/usr/bin/env php
<?php

define('MPM_PATH', '/usr/local/src/mysql-php-migration');

# the config file is ./db_migration/db_migration_config.php
define('MPM_CONFIG_FILE_PATH', './db_migration');

require(MPM_PATH . '/migrate.php');
  • 将迁移配置文件名从db_config.php重命名为db_migration_config.php
  • 在迁移文件中添加一个info字段,该字段将在SQL日志文件和列表命令中显示
  • "list"命令:显示迁移信息并"高亮"当前迁移,因此您无需单独运行"status"命令

已知问题

  • 在添加--dry-run时,我们可能破坏了一些PDO支持:(我们仅使用mysqli)