2017 © Pedro Peláez
 

symfony-bundle evolution-bundle

Easy bundle for database evolution

image

lilweb/evolution-bundle

Easy bundle for database evolution

  • Thursday, November 21, 2013
  • by geoffrey-brier
  • Repository
  • 0 Watchers
  • 0 Stars
  • 607 Installations
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Installation

1. Configuration du composer.json

Dans le composer.json, rajouter ces lignes (à adapter si besoin est):, (*1)

"require": {
    "Lilweb/evolution-bundle": "0.*"
}

Il est aussi possible de le faire en ligne de commande:, (*2)

$> composer require Lilweb/evolution-bundle

2. Activer le bundle

Dans app/AppKernel.php:, (*3)

<?php
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Lilweb\EvolutionBundle\LilwebEvolutionBundle(),
        );

        // ...
    }

3. Configurer le bundle

Vous pouvez surcharger le répertoire où les évolutions sont stockées:, (*4)

# app/config/config.yml
lilweb_evolution:
    evolution_dir: /full/path/to/directory

NB: Par défaut, celui-ci équivaut à %kernel.root_dir/evolutions., (*5)

4. Utilisation

Le fonctionnement du bundle se veut très simple: appliquer une suite d'évolutions à une base de données., (*6)

A partir de la dernière évolution effectuée, le bundle va chercher les nouvelles évolutions à appliquer tout en étant capable de rollback en cas de problème., (*7)

Pour écrire une évolution, il vous suffit de définir vos: - "Ups": Le ou les évolutions à appliquer - "Downs": Les 'contre-évolutions' (eg: qu'est-ce que je fais si mon évolution a échouée), (*8)

Exemple:, (*9)

-- Migration du 12/10/2004

# Script #1

-- Script number one

# /!\ Respecter la syntaxe de la ligne suivante:
# --- !Ups

CREATE TABLE IF NOT EXISTS `toto` (
  `id` int(11) NOT NULL, -- comment
  `name` varchar(10) DEFAULT NULL, # comment
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `titi` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

# /!\ Respecter la syntaxe de la ligne suivante:
# --- !Downs

DROP TABLE toto;
DROP TABLE titi;

NB: Le nom du fichier doit respecter le format [\d]+.sql (eg: 1.sql, 15.sql ...) NB2: En cas de problèmes, un rollback s'effectura à partir de la version buggué, jusque la version d'avant évolution., (*10)

The Versions

21/11 2013

dev-master

9999999-dev

Easy bundle for database evolution

  Sources   Download

MIT

The Requires

 

by Geoffrey BRIER

database evolution

21/11 2013

0.1.1

0.1.1.0

Easy bundle for database evolution

  Sources   Download

MIT

The Requires

 

by Geoffrey BRIER

database evolution

09/04 2013

0.1.0

0.1.0.0

Easy bundle for database evolution

  Sources   Download

MIT

The Requires

 

by Geoffrey BRIER

database evolution

22/03 2013

dev-develop

dev-develop

Easy bundle for database evolution

  Sources   Download

MIT

The Requires

 

by Geoffrey BRIER

database evolution