Doctrine Database Migrations
Status
Official Documentation
All available documentation can be found here.
The repository containing the documentation is there.
Working with Doctrine Migrations
Using the integration of your framework
- symfony 2 doctrine/doctrine-migrations-bundle
- ZF2 doctrine/doctrine-orm-module
- laravel mitchellvanw/laravel-doctrine
- Silex kurl/silex-doctrine-migrations-provider
- nette zenify/doctrine-migrations
- others...
Using composer
composer require doctrine/migrations
Downloading the latest phar release
You can download the doctrine migrations phar directly on the release page
Building Your own Phar
Make sure Composer and all necessary dependencies are installed:
curl -s https://getcomposer.org/installer | php
php composer.phar install --dev
Make sure that the Box project is installed:
curl -s http://box-project.org/installer.php | php
Build the PHAR archive:
php box.phar build
The doctrine-migrations.phar
archive is built in the build
directory.
Creating archive disabled by INI setting
If you receive an error that looks like:
creating archive "build/doctrine-migrations.phar" disabled by INI setting
This can be fixed by setting the following in your php.ini:
; http://php.net/phar.readonly
phar.readonly = Off
Installing Dependencies
To install dependencies run a composer update:
composer update
symfony 2.3 users
Doctrine migration need the doctrine/orm 2.4, you need to update your composer.json to the last version of it for symfony 2.3.
That version is compatible with the doctrine/orm 2.4 and there are very little upgrade needed.
Running the unit tests
To run the tests, you need the sqlite extension for php. On Unix-like systems, install:
- php5-sqlite
On Windows, enable the extension by uncommenting the following lines in php.ini
extension = php_pdo_sqlite.dll
extension = php_sqlite3.dll
extension_dir = ext
Running the tests from the project root:
./vendor/bin/phpunit
On Windows run phpunit from the full path
php vendor/phpunit/phpunit/phpunit
This appears to be some bug.
Happy testing :-)