Welcome 微信登录

首页 / 数据库 / MySQL / MySQL迁移工具在生产环境下的使用

在产品迭代开发发布过程中,由于业务需求的增加,数据库难免会有结构调整等操作.
在每个版本发布过程中怎么控制每个版本server端程序与数据库版本保持一致,以及数据库升级、回滚等操作.
本博文宅鸟将向大家推荐一款mysql数据库迁移工具mysql-php-migrations
由于具体需求不同,宅鸟根据自己公司的情况将mysql-php-migrations做了一些修改来满应用!宅鸟修改程序后的mysql迁移程序有以下目录:config 配置文件
dbscript sql脚本目录
lib 迁移程序类库
migrate.php 迁移命令执行入口
执行php migrate.php
可以看到如下结果我们可以看到migrate.php有很多命令
php migrate.php add  test
结果:
      __ __        __      __
|/|  (_ /  |  __ |__)|__||__) __ |/|. _  _ _ |_. _  _  _
|  |/__)\_/|__    |  |  ||      |  ||(_)| (_||_|(_)| )_)
  /                                    _/
******************************************************************** v2.0.1 ***
New migration created: file
/var/www/mysqlMigrations/dbscript/2013_12_18_14_50_45_test.php
*******************************************************************************
cd dbscript
total 16
-rw-r--r-- 1 www-data www-data 4837 Sep 29 09:21 2013_06_18_17_14_16_v1.php
-rw-r--r-- 1 www-data www-data  802 Sep 29 13:29 2013_09_29_12_00_12_v1.php
-rw-r--r-- 1 root    www-data  240 Dec 18 14:50 2013_12_18_14_50_45_test.php
此时dbscript目录已经新添加一个2013_12_18_14_50_45_test.php文件,改文件格式如下:
<?php
class Migration_2013_12_18_14_50_45 extends MpmMysqliMigration
{
      public function up(ExceptionalMysqli &$mysqli)
      {
              $mysqli->exec("DO 0");
      }
      public function down(ExceptionalMysqli &$mysqli)
      {
              $mysqli->exec("DO 0");
      }
}
?>把需要修改的数据库脚本写在up函数中:
把对应修改修改所做的回滚操作卸载down函数中注意:在生产环境下建议只做数据库的向上变迁,不做down操作,避免用户有用数据丢失.
  • 1
  • 2
  • 下一页
exp/imp导入导出版本问题和ORA-6550报错结合Git实现MySQL差异备份,可用于生产环境相关资讯      MySQL迁移 
  • 将Uhost上的MySQL迁移到UDB  (02/12/2015 10:08:51)
本文评论 查看全部评论 (0)
表情: 姓名: 字数