database diff

Compalex

free lightweight script

to compare database schemas

START THE DEMO

What is Compalex?

Compalex is a lightweight script to compare two database schemas. It supports MySQL, MS SQL Server and PostgreSQL.

View project on https://github.com/dlevsha/compalex/

Requirements

Compalex is only supported by PHP 5.4 and up with PDO extension.

Installation

$ git clone https://github.com/dlevsha/compalex.git
$ cd compalex

or you can download latest version here.

Open .environment. You'll see configuration params

[ Main settings ]
; Possible DATABASE_DRIVER: 'mysql', 'pgsql', 'dblib'.
; Please use 'dblib' for Microsoft SQL Server
DATABASE_DRIVER = mysql
DATABASE_ENCODING = utf8
SAMPLE_DATA_LENGTH = 100

[ Primary connection params ]
DATABASE_HOST = localhost
DATABASE_NAME = compalex_dev
DATABASE_USER = root
DATABASE_PASSWORD =
DATABASE_DESCRIPTION = Developer database

[ Secondary connection params ]
DATABASE_HOST_SECONDARY = localhost
DATABASE_NAME_SECONDARY = compalex_prod
DATABASE_USER_SECONDARY = root
DATABASE_PASSWORD_SECONDARY =
DATABASE_DESCRIPTION_SECONDARY = Production database

where

DATABASE_DRIVER - database driver, possible value

[ Primary connection params ] and [ Secondary connection params ]sections describes settings for first and second databases.

Where

Inside compalex directory run

$ php -S localhost:8000

Now open your browser and type http://localhost:8000/

You'll see database schema of two compared databases.

compare database schemas

Run in terminal

You can run this script in terminal (for example, if you don't have direct connection to database).

I recommend eLinks (free text-based console web browser) because it supports HTML-formatting and colors.

Install the script and run web-server as described above on your server.

Then run:

$ elinks http://localhost:8000

You'll see database schema in your terminal

compare database schemas in terminal