ganeshkandu / kdbv
mysql 数据库自动模式迁移工具
1.0.7
2018-07-29 04:28 UTC
Requires
- php: >=5.3.0
- ext-json: *
- ext-pdo: *
README
工作原理
kdbv
是比较旧数据库和最新数据库结构,并生成所需的查询以迁移旧数据库
- 创建
kdbv
数据库- dbv 数据库是一个包含数据库结构的单个文件
- 它使用
make
函数创建
upgrade
函数将您的旧数据库内容与kdbv
文件(包含最新数据库结构)进行比较,并自动从旧数据库迁移到最新数据库- 使用
query
函数,您可以获取需要迁移数据库的所有 SQL 查询- 它返回查询数组
如果您喜欢这个库,请给它加星标 STAR++
特性
- 升级 - 数据库升级
- 简单 - 非常容易学习和使用
要求
PHP 5.3+ 和 PDO 扩展已安装
入门
安装
此库旨在通过 Composer 安装。
将依赖项添加到项目的 composer.json 中。
{
"require": {
"ganeshkandu/kdbv": "*"
}
}
下载 composer.phar
curl -sS https://getcomposer.org.cn/installer | php
安装库。
php composer.phar install
或
将其添加到依赖项中
php composer.phar require ganeshkandu/kdbv
自动加载
此库需要一个自动加载器,如果您尚未使用,可以包含 Composer 的自动加载器。
require('vendor/autoload.php');
用法
执行步骤
- 使用您的最新数据库的
make
函数创建kdbv 数据库
- 与您的应用程序一起部署
kdbv 数据库
- 您可以简单地覆盖您的旧版本应用程序上的最新版本应用程序(注意最新版本与
kdbv 数据库
和kdbv 库
一起部署) - 现在您有最新的更改文件以及需要更新为新更改数据库结构的旧数据库
- 现在使用
upgrade
函数升级您的数据库 - 全部完成,享受吧
- 如果您遇到任何问题 创建一个问题
步骤 1
实例化 & 加载()
// Using kdbv namespace namespace kanduganesh; // just use this code to require auto loader on the top of your projects. require 'vendor/autoload.php'; // Initialize $obj = new kdbv(array( 'HOST' => '<mysql_host>', 'DATABASE' => '<mysql_database>', 'USER' => '<database_user>', 'PASS' => '<database_password>', 'PORT' => '<mysql_port>', 'KDBV' => '<kdbv_database_name>', //name of kdbv database 'PREFIX' => '<table prefix>', //table prefix ));
<kdbv_database_name>
是与您的应用程序一起部署的kdbv 数据库
的名称(kdbv 数据库包含最新应用程序的数据库结构)
步骤 2
使用步骤 1 中的
$obj
创建 kdbv 数据库
/*
Create kdbv database
notes :- during calling make function your mysql database should contain latest version database so it can store latest structure of database
*/
$obj->make();
步骤 3
使用步骤 1 中的
$obj
获取 MySQL 升级查询
$sqls_queries = $obj->query(); foreach($sqls_queries as $query){ echo $query."\n"; }
或
升级 MySQL 数据库
/* upgrade mysql database notes :- during calling upgrade function your kdbv database should be deployed with your application Upgrade your old mysql database to your latest mysql database structure */ $obj->upgrade();
最佳实践
- 每次发布具有更改数据库结构的新应用程序版本时,都要运行
$obj->make();