ezpublish-migrations-bundle

UNIX name Owner Status
ezpublish-migrations-bundle eZ Publish Legacy stable
Version Compatible with
N/A N/A
Migrations for eZ Publish 5

eZ Publish/Platform Migrations

Migrations for eZ Publish/Platform.

Abandoned/Archived: This bundle hasn't received updates since 2016, is far behind the current development of eZ Publish/Platform, and thus has been marked as archived/abandoned. Please switch to kaliop/ezmigrationbundle.

Features

In addition to the commands from the DoctrineMigrationsBundle,
this bundle gives you an additional ezpublish:migrations:generate command, which generates a Migration that eases
eZ Publish/Platform related changes.

  • Automatically sets the active eZ user performing the changes (default: admin)
  • Allows the quick change of the currently active user, e.g. for creating new content in the name of a certain user.
  • Adds a shorthand method to create new content

If you know Doctrine Migrations, you will feel right at home.

Installation

composer require kreait/ezpublish-migrations-bundle

Enable the DoctrineMigrationsBundle and the KreaitEzPublishMigrationsBundle
in AppKernel.php (eZ Platform) or EzPublishKernel.php (eZ Publish 5):

public function registerBundles()
{
$bundles = array(
//...
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
new Kreait\EzPublish\MigrationsBundle\KreaitEzPublishMigrationsBundle(),
);
}

Configuration

You can configure the bundles in your config.yml. The examples below are the default values.

doctrine_migrations:
dir_name: "%kernel.root_dir%/DoctrineMigrations"
namespace: Application\Migrations
table_name: migration_versions
name: Application Migrations

ezpublish_migrations:
# The login name of the user performing the migrations.
ez_migrations_user: admin

Usage

The usage is identical to Symfony's DoctrineMigrationBundle,
with the addition of the following command:

# Generate a blank eZ Publish/Platform enabled migration class
$ ezpublish:migrations:generate

You can access the eZ Repository inside a migration with $this->repository.

See src/Resources/doc/examples eZ Publish related example migrations.

Helper methods

Changing the current migration user during a migration

You can change the current eZ Publish user inside a migration by issuing the following command:

// All subsequent calls will be made as the user with the given name
$this->changeMigrationUser('another_username');

and restore the default Migration user by using:

// Restores the current user to the configured migrations user.
$this->restoreDefaultMigrationUser();
Quickly create simple content
$this->createContent($parentLocationId, $contentTypeIdentifier, $languageCode, array $fields);

see Create new content example

Known issues

When you create a migration using only eZ Publish's API methods, no SQL statements are executed in terms of the
DoctrineMigrationsBundle. This results in the following message:

Migration was executed but did not result in any SQL statements.

Alternatives

No news yet.

This project has no reviews yet. Be the first one to review it!

No forum messages yet.