>데이터 베이스 >MySQL 튜토리얼 >MySQL迁移工具在生产环境下的使用

MySQL迁移工具在生产环境下的使用

WBOY
WBOY원래의
2016-06-07 17:33:591208검색

在产品迭代开发发布过程中,由于业务需求的增加,数据库难免会有结构调整等操作.在每个版本发布过程中怎么控制每个版本server端程

在产品迭代开发发布过程中,由于业务需求的增加,,数据库难免会有结构调整等操作.
在每个版本发布过程中怎么控制每个版本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文件,改文件格式如下:
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操作,避免用户有用数据丢失.

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.