, (*1)
how it works
kdbv
is Compare the structure of old database and latest database structure and make required queries to migrate old database, (*2)
- Create
kdbv
database
- dbv database is a single file witch contains database structure
- its created using
make
function
-
upgrade
function is Compare the contents of your old databases with kdbv
file ( witch contains latest database structure ) and Automate your data migrations from old to latest
- using
query
function you can get all sql queries. that need to migrate database
- its return array of queries
Features
-
Upgrade - Database Upgrade
-
Easy - Extremely easy to learn and use
Requirement
PHP 5.3+ and PDO extension installed, (*3)
Get Started
Installation
This library is designed to be installed via Composer., (*4)
Add the dependency into your projects composer.json., (*5)
{
"require": {
"ganeshkandu/kdbv": "*"
}
}
Download the composer.phar
``` bash
curl -sS https://getcomposer.org/installer | php, (*6)
Install the library.
``` bash
php composer.phar install
or
To add in in your dependencies, (*7)
``` bash
php composer.phar require ganeshkandu/kdbv, (*8)
## Auto loading
This library requires an autoloader, if you aren't already using one you can include [Composers autoloader](https://getcomposer.org/doc/01-basic-usage.md#autoloading).
``` php
require('vendor/autoload.php');
Usage
- Create
kdbv database
using make
function of your latest database
- deploy
kdbv database
with your application
- You can simply overwrite latest version of your application on your old version of application ( NOTES latest version is deployed with
kdbv database
and kdbv library
)
- now you have your latest changed files with your old database which need to be update to new changes database structure
- now
upgrade
your database using upgrade
function
- ALL DONE ENJOY
- if you getting any issue create an issue
step 1
Instantiate & load()
// 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>
is a name of kdbv database
which to be deploy with your application
( kdbv database contain database structure of your latest application ), (*9)
step 2
use $obj
of step 1, (*10)
create kdbv database
/*
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();
step 3
use $obj
of step 1, (*11)
Get Mysql Upgrade Queries
$sqls_queries = $obj->query();
foreach($sqls_queries as $query){
echo $query."\n";
}
or
Upgrade mysql database
/*
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();
Best practices
- run
$obj->make();
all time you when you release new application version with change database structure
Maintainers