smart-php / mysql-scheman
MySQL schema synchronizer. A simple way to handle MySQL schema without writing MySQL query
Requires
- php: >=5.3.0
- spatie/array-to-xml: ^2.10
- splitbrain/php-cli: ^1.1
Requires (Dev)
README
MySQL schema, a simple MySQL schema synchronization utility. This will create an UPDATE/ADD query automatically based on the schema difference in the database and schema file.
Why we use MySQL Scheman
Developers find it very hard to synchronize MySQL schema while developing any application. The current conventional method is to create an SQL file with all the changes & update it in the staging/production server. The main demerit of this method is if there are multiple people and multiple SQL changes on the same table the process is a bit hectic. In order to solve this, we developed a platform where you can update the schema in a file, and by running sync to database it will create the SQL Query for the changes and it will execute.
Installation
If you use Composer, you can install MySQL Scheman with the following command:
composer require smart-php/mysql-scheman
Or alternatively, include a dependency for MySQL Scheman in your composer.json file. For example
{ "require-dev": { "smart-php/mysql-scheman": "dev-master" } }
Config
A database configuration file should be there to communicate with the database. Please see the sample files and create a copy in your working directory with your database credentials.
JSON: config.json.example XML: config.xml.example
Usage (CLI)
To CLI Help
./vendor/bin/scheman --help
Exporting Database to Schema File:
./vendor/bin/scheman --config config.json --export yourdatabase.json
Sync the file schema with your database
./vendor/bin/scheman --config config.json --sync yourdatabase.json
License
See the LICENSE
file.