/migrations

Doctrine Database Migrations Library

Primary LanguagePHPGNU Lesser General Public License v2.1LGPL-2.1

Doctrine Database Migrations

Status

Build Status Dependency Status Scrutinizer Code Quality Code Coverage

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

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

Make sure that the Box project is installed:

curl -LSs http://box-project.github.io/box2/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 :-)