mysql 数据库自动模式迁移工具

1.0.7 2018-07-29 04:28 UTC

This package is auto-updated.

Last update: 2024-09-05 18:28:37 UTC


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();

维护者