pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/phpcr/phpcr-migrations

GitHub - phpcr/phpcr-migrations: PHPCR Migrations library · GitHub
Skip to content

phpcr/phpcr-migrations

Repository files navigation

PHPCR Migrations

Build Status

Migrations library for PHPCR influenced by Doctrine migrations.

For integration with Symfony see the PHPCR Migrations Bundle.

Usage

<?php

use Symfony\Component\Console\Output\NullOutput;
use PHPCR\Migrations\VersionStorage;
use PHPCR\Migrations\VersionFinder;
use PHPCR\Migrations\Migrator;

$storage = new VersionStorage($phpcrSession);
$finder = new VersionFinder(['/path/to/migrations']);

$versions = $finder->getVersionCollection();
$migrator = new Migrator($session, $versionCollection, $storage);

$to = '201504241744';
$output = new NullOutput();
$migrator->migrate($to, $output);

You may also create a factory class (useful when you use dependency injection):

<?php

$factory = new MigratorFactory($storage, $finder, $session);
$migrator = $factory->getMigrator();

Initializing

When you install a project for the first time you need to initialize the versions:

<?php

$migrator->initialize();

This should be part of your build process and it will add all the versions to the migration version node in the content repository.

Migrating

$migrator->migrate('201501011200', $output); // migrate to a specific version
$migrator->migrate('up', $output); // migrate up a version
$migrator->migrate('down', $output); // migrate down a version
$migrator->migrate('top', $output); // migrate to the latest version
$migrator->migrate('bottom', $output); // revert all versions

Listing versions

You can access information about available versions from the VersionCollection object:

$versionCollection->getAllVersions();

Determining the current version

You can determine the current version from the VersionStorage object:

$versionStroage->getCurrentVersion();

Version classes

Version classes contain up and down methods. The class is quite simple:

<?php

use PHPCR\Migrations\VersionInterface;

class Version201504241200 implements VersionInterface
{
    public function up(SessionInterface $session)
    {
        $session->doSomething();
    }

    public function down(SessionInterface $session)
    {
        $session->undoSomething();
    }
}

They must be named VersionYYYMMDDHHMM. If they are not so named, then they will not be detected.

The down method should revert any changes made in the up method. Always check that revcerting your migration works.

About

PHPCR Migrations library

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy