brtriver / dbup
simple migration tool with PDO
Installs: 530
Dependents: 0
Suggesters: 0
Security: 0
Stars: 55
Watchers: 5
Forks: 20
Open Issues: 4
pkg:composer/brtriver/dbup
Requires
- php: >=5.4.0
- ext-pdo: *
- hamcrest/hamcrest-php: 1.2.0
- phake/phake: v1.0.3
- phpunit/phpunit: 4.2.*
- symfony/console: ~2.5.0
- symfony/event-dispatcher: ~2.5.0
- symfony/finder: ~2.5.0
Suggests
- ext-pdo-mysql: In order to use ikou with MySQL databases.
- ext-pdo-pqsql: In order to use ikou with PostgreSQL databases.
- ext-pdo-sqlite: In oreder to use ikou with SQLite Databases.
This package is not auto-updated.
Last update: 2025-10-20 16:12:13 UTC
README
Dbup is a simple migration tool for PHP.
- You have only to download
dbup.phar. - Dbup has only
upcommand. Dbup does not havedowncommand. - Dbup use just a plain old sql, so you don't have to learn ORM nor DSL. You write sql file and just call
upcommand. - Dbup use just PDO class to migrate.
- Dbup doesn't need the table in a database to migrate.
Applied migration sql files are copied to .dbup/applied directory.
If a same file exists both sql and .dbup/applied directory, up command ignores this sql file.
simple...simple..simple..
Requirements
Dbup works with PHP 5.4.0 or later.
Install
Installing Dbup is as easy as it can get. Download the dbup.phar and run init,
then .dbup and sql directory are created and set a sample properties.ini file and sqlfile.
php dbup.phar init
change the database config in .dbup/properties.ini.
[pdo]
dsn = "mysql:dbname=testdatabase;host=localhost"
user = "testuser"
password = "testpassword"
see also http://www.php.net/manual/en/pdo.construct.php
You can also assign environment variables to your database configuration file. Dbup reads DBUP_ prefixed environment variables if the names are placed in .ini file with surrounded '%%'. For example, user parameter of the following ini will be replaced to a value of the environment variable DBUP_USERNAME if it is defined.
[pdo]
user = "%%DBUP_USERNAME%%"
Naming
You have to name a sql file like below:
V[version_number]__[description].sql
V is prefix. the separator is __ (two underscores). Suffix is .sql
Usage
List all commands.
php dbup.phar
You have to write a sql file to sql directory.
Show status.
php dbup.phar status
dbup migration status
================================================================================
Applied At | migration sql file
--------------------------------------------------------------------------------
2013-05-01 22:37:32 | V1__sample_select.sql
appending... | V2__sample.sql
appending... | V3__sample.sql
appending... | V20__sample.sql
appending... | V100__sample.sql
Up database after writing a new sql file.
php dbup.phar up
that's all.
License
Dbup is licensed under the MIT license.