From c6dff0ef24f5a5016e644652cf8d75e5277962b9 Mon Sep 17 00:00:00 2001 From: Dmitri Vereshchagin Date: Sun, 29 Mar 2015 17:14:17 +0300 Subject: [PATCH] Create migration for empty database --- app/AppKernel.php | 1 + app/SymfonyRequirements.php | 20 ++-- app/config/config.yml | 6 ++ composer.json | 4 +- composer.lock | 198 +++++++++++++++++++++++++++++------- 5 files changed, 182 insertions(+), 47 deletions(-) diff --git a/app/AppKernel.php b/app/AppKernel.php index 2b243fd..49fa758 100644 --- a/app/AppKernel.php +++ b/app/AppKernel.php @@ -15,6 +15,7 @@ class AppKernel extends Kernel new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), new Symfony\Bundle\AsseticBundle\AsseticBundle(), new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), + new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), new Misd\GuzzleBundle\MisdGuzzleBundle(), new Skobkin\Bundle\PointToolsBundle\SkobkinPointToolsBundle(), diff --git a/app/SymfonyRequirements.php b/app/SymfonyRequirements.php index cbcf1c8..dbaafa8 100644 --- a/app/SymfonyRequirements.php +++ b/app/SymfonyRequirements.php @@ -77,7 +77,7 @@ class Requirement } /** - * Returns the help text for resolving the problem + * Returns the help text for resolving the problem. * * @return string The help text */ @@ -119,10 +119,10 @@ class PhpIniRequirement extends Requirement * * @param string $cfgName The configuration name used for ini_get() * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false, - or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement + * or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement * @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. - This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. - Example: You require a config to be true but PHP later removes this config and defaults it to true internally. + * This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. + * Example: You require a config to be true but PHP later removes this config and defaults it to true internally. * @param string|null $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived) * @param string|null $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived) * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) @@ -221,10 +221,10 @@ class RequirementCollection implements IteratorAggregate * * @param string $cfgName The configuration name used for ini_get() * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false, - or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement + * or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement * @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. - This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. - Example: You require a config to be true but PHP later removes this config and defaults it to true internally. + * This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. + * Example: You require a config to be true but PHP later removes this config and defaults it to true internally. * @param string $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived) * @param string $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived) * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) @@ -239,10 +239,10 @@ class RequirementCollection implements IteratorAggregate * * @param string $cfgName The configuration name used for ini_get() * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false, - or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement + * or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement * @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false. - This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. - Example: You require a config to be true but PHP later removes this config and defaults it to true internally. + * This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin. + * Example: You require a config to be true but PHP later removes this config and defaults it to true internally. * @param string $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived) * @param string $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived) * @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags) diff --git a/app/config/config.yml b/app/config/config.yml index bf4da51..b916725 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -64,6 +64,12 @@ doctrine: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true +doctrine_migrations: + dir_name: %kernel.root_dir%/DoctrineMigrations + namespace: Application\Migrations + table_name: migration_versions + name: Application Migrations + # Swiftmailer Configuration swiftmailer: transport: "%mailer_transport%" diff --git a/composer.json b/composer.json index eab93ca..7c6a1af 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,9 @@ "sensio/distribution-bundle": "~3.0,>=3.0.12", "sensio/framework-extra-bundle": "~3.0,>=3.0.2", "incenteev/composer-parameter-handler": "~2.0", - "misd/guzzle-bundle": "~1.0" + "misd/guzzle-bundle": "~1.0", + "doctrine/migrations": "1.0.*@dev", + "doctrine/doctrine-migrations-bundle": "2.1.*@dev" }, "require-dev": { "sensio/generator-bundle": "~2.3" diff --git a/composer.lock b/composer.lock index 69ef40e..bc09293 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "9b2a01fca6691fa7cf3a44dba320f9a9", + "hash": "6f8a78a0b471fceb335f2e83e43985ef", "packages": [ { "name": "doctrine/annotations", @@ -514,6 +514,65 @@ ], "time": "2014-11-28 09:43:36" }, + { + "name": "doctrine/doctrine-migrations-bundle", + "version": "dev-master", + "target-dir": "Doctrine/Bundle/MigrationsBundle", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", + "reference": "6a1bd731dbdd4ad952a3b246a8f38c9c12f52e62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/6a1bd731dbdd4ad952a3b246a8f38c9c12f52e62", + "reference": "6a1bd731dbdd4ad952a3b246a8f38c9c12f52e62", + "shasum": "" + }, + "require": { + "doctrine/doctrine-bundle": "~1.0", + "doctrine/migrations": "~1.0@dev", + "php": ">=5.3.2", + "symfony/framework-bundle": "~2.1" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Bundle\\MigrationsBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony DoctrineMigrationsBundle", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "dbal", + "migrations", + "schema" + ], + "time": "2015-02-16 13:24:46" + }, { "name": "doctrine/inflector", "version": "v1.0.1", @@ -635,6 +694,64 @@ ], "time": "2014-09-09 13:34:57" }, + { + "name": "doctrine/migrations", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/doctrine/migrations.git", + "reference": "65978aa4e9ffca3bb632225ad8c6320077d80d85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/65978aa4e9ffca3bb632225ad8c6320077d80d85", + "reference": "65978aa4e9ffca3bb632225ad8c6320077d80d85", + "shasum": "" + }, + "require": { + "doctrine/dbal": "~2.0", + "php": ">=5.3.2" + }, + "require-dev": { + "symfony/console": "2.*", + "symfony/yaml": "2.*" + }, + "suggest": { + "symfony/console": "to run the migration from the console" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\Migrations": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Database Schema migrations using Doctrine DBAL", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "migrations" + ], + "time": "2015-03-23 09:47:20" + }, { "name": "doctrine/orm", "version": "v2.4.7", @@ -1053,16 +1170,16 @@ }, { "name": "monolog/monolog", - "version": "1.12.0", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "1fbe8c2641f2b163addf49cc5e18f144bec6b19f" + "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1fbe8c2641f2b163addf49cc5e18f144bec6b19f", - "reference": "1fbe8c2641f2b163addf49cc5e18f144bec6b19f", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", + "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", "shasum": "" }, "require": { @@ -1079,6 +1196,7 @@ "phpunit/phpunit": "~4.0", "raven/raven": "~0.5", "ruflin/elastica": "0.90.*", + "swiftmailer/swiftmailer": "~5.3", "videlalvaro/php-amqplib": "~2.4" }, "suggest": { @@ -1095,7 +1213,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.12.x-dev" + "dev-master": "1.13.x-dev" } }, "autoload": { @@ -1121,7 +1239,7 @@ "logging", "psr-3" ], - "time": "2014-12-29 21:29:35" + "time": "2015-03-09 09:58:04" }, { "name": "psr/log", @@ -1163,17 +1281,17 @@ }, { "name": "sensio/distribution-bundle", - "version": "v3.0.18", + "version": "v3.0.20", "target-dir": "Sensio/Bundle/DistributionBundle", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", - "reference": "ac026149ffb1d3a5c893290d2d3ca8795013de08" + "reference": "48c76189fb0a76a20a4a67a750b513ed06074b55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/ac026149ffb1d3a5c893290d2d3ca8795013de08", - "reference": "ac026149ffb1d3a5c893290d2d3ca8795013de08", + "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/48c76189fb0a76a20a4a67a750b513ed06074b55", + "reference": "48c76189fb0a76a20a4a67a750b513ed06074b55", "shasum": "" }, "require": { @@ -1219,21 +1337,21 @@ "configuration", "distribution" ], - "time": "2015-02-27 12:59:18" + "time": "2015-03-26 11:09:50" }, { "name": "sensio/framework-extra-bundle", - "version": "v3.0.4", + "version": "v3.0.6", "target-dir": "Sensio/Bundle/FrameworkExtraBundle", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", - "reference": "b3bc3e67c8b6b68b18d727012183520d35ee762a" + "reference": "1c3ed356bd1ff67cd71806efbb71511644035c85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/b3bc3e67c8b6b68b18d727012183520d35ee762a", - "reference": "b3bc3e67c8b6b68b18d727012183520d35ee762a", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/1c3ed356bd1ff67cd71806efbb71511644035c85", + "reference": "1c3ed356bd1ff67cd71806efbb71511644035c85", "shasum": "" }, "require": { @@ -1274,7 +1392,7 @@ "annotations", "controllers" ], - "time": "2014-12-02 09:52:52" + "time": "2015-03-24 15:12:07" }, { "name": "sensiolabs/security-checker", @@ -1323,16 +1441,16 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v5.3.1", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "c5f963e7f9d6f6438fda4f22d5cc2db296ec621a" + "reference": "31454f258f10329ae7c48763eb898a75c39e0a9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/c5f963e7f9d6f6438fda4f22d5cc2db296ec621a", - "reference": "c5f963e7f9d6f6438fda4f22d5cc2db296ec621a", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/31454f258f10329ae7c48763eb898a75c39e0a9f", + "reference": "31454f258f10329ae7c48763eb898a75c39e0a9f", "shasum": "" }, "require": { @@ -1344,7 +1462,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3-dev" + "dev-master": "5.4-dev" } }, "autoload": { @@ -1371,7 +1489,7 @@ "mail", "mailer" ], - "time": "2014-12-05 14:17:14" + "time": "2015-03-14 06:06:39" }, { "name": "symfony/assetic-bundle", @@ -1560,12 +1678,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "755ea09a440c1b8ea560e403b442fc9f53e0ae93" + "reference": "6ce03d3942ae65b9bcbc2afbec800ea1cf8361d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/755ea09a440c1b8ea560e403b442fc9f53e0ae93", - "reference": "755ea09a440c1b8ea560e403b442fc9f53e0ae93", + "url": "https://api.github.com/repos/symfony/symfony/zipball/6ce03d3942ae65b9bcbc2afbec800ea1cf8361d8", + "reference": "6ce03d3942ae65b9bcbc2afbec800ea1cf8361d8", "shasum": "" }, "require": { @@ -1598,7 +1716,6 @@ "symfony/locale": "self.version", "symfony/monolog-bridge": "self.version", "symfony/options-resolver": "self.version", - "symfony/phpunit-bridge": "self.version", "symfony/process": "self.version", "symfony/property-access": "self.version", "symfony/proxy-manager-bridge": "self.version", @@ -1630,7 +1747,8 @@ "ircmaxell/password-compat": "~1.0", "monolog/monolog": "~1.11", "ocramius/proxy-manager": "~0.4|~1.0", - "propel/propel1": "~1.6" + "propel/propel1": "~1.6", + "symfony/phpunit-bridge": "self.version" }, "type": "library", "extra": { @@ -1640,7 +1758,13 @@ }, "autoload": { "psr-0": { - "Symfony\\": "src/" + "Symfony\\Bridge\\Doctrine\\": "src/", + "Symfony\\Bridge\\Monolog\\": "src/", + "Symfony\\Bridge\\ProxyManager\\": "src/", + "Symfony\\Bridge\\Swiftmailer\\": "src/", + "Symfony\\Bridge\\Twig\\": "src/", + "Symfony\\Bundle\\": "src/", + "Symfony\\Component\\": "src/" }, "classmap": [ "src/Symfony/Component/HttpFoundation/Resources/stubs", @@ -1669,7 +1793,7 @@ "keywords": [ "framework" ], - "time": "2015-03-02 10:21:01" + "time": "2015-03-29 09:44:52" }, { "name": "twig/extensions", @@ -1784,17 +1908,17 @@ "packages-dev": [ { "name": "sensio/generator-bundle", - "version": "v2.5.2", + "version": "v2.5.3", "target-dir": "Sensio/Bundle/GeneratorBundle", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", - "reference": "4b09746520a826a7bf34a466ba31c7d8740fef7e" + "reference": "e50108c2133ee5c9c484555faed50c17a61221d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/4b09746520a826a7bf34a466ba31c7d8740fef7e", - "reference": "4b09746520a826a7bf34a466ba31c7d8740fef7e", + "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/e50108c2133ee5c9c484555faed50c17a61221d3", + "reference": "e50108c2133ee5c9c484555faed50c17a61221d3", "shasum": "" }, "require": { @@ -1828,13 +1952,15 @@ } ], "description": "This bundle generates code for you", - "time": "2015-02-11 07:21:23" + "time": "2015-03-17 06:36:52" } ], "aliases": [], "minimum-stability": "stable", "stability-flags": { - "symfony/symfony": 20 + "symfony/symfony": 20, + "doctrine/migrations": 20, + "doctrine/doctrine-migrations-bundle": 20 }, "prefer-stable": false, "prefer-lowest": false,