forked from michael-romer/zf-boilerplate
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Michael
committed
Oct 20, 2011
1 parent
432f27b
commit f9e6557
Showing
29 changed files
with
2,419 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<?php | ||
require_once('bootstrap.php'); | ||
passthru('php doctrine.php migrations:migrate'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<?php | ||
require_once('bootstrap.php'); | ||
passthru('php doctrine.php migration:diff') . PHP_EOL; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<?php | ||
require_once('bootstrap.php'); | ||
passthru('php doctrine.php migrations:migrate --dry-run'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<?php | ||
require_once('bootstrap.php'); | ||
passthru('php doctrine.php migration:status') . PHP_EOL; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
name: Doctrine Migrations | ||
migrations_namespace: DoctrineMigrations | ||
table_name: doctrine_migration_versions | ||
migrations_directory: ../data/migrations |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -48,4 +48,7 @@ public function __toString() | |
{ | ||
return $this->getWording(); | ||
} | ||
|
||
|
||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<?php | ||
|
||
namespace Doctrine\DBAL\Migrations; | ||
|
||
class AbortMigrationException extends MigrationException | ||
{ | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
<?php | ||
/* | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
* | ||
* This software consists of voluntary contributions made by many individuals | ||
* and is licensed under the LGPL. For more information, see | ||
* <http://www.doctrine-project.org>. | ||
*/ | ||
|
||
namespace Doctrine\DBAL\Migrations; | ||
|
||
use Doctrine\DBAL\Schema\Schema, | ||
Doctrine\DBAL\Migrations\Configuration\Configuration, | ||
Doctrine\DBAL\Migrations\Version; | ||
|
||
/** | ||
* Abstract class for individual migrations to extend from. | ||
* | ||
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL | ||
* @link www.doctrine-project.org | ||
* @since 2.0 | ||
* @author Jonathan H. Wage <jonwage@gmail.com> | ||
*/ | ||
abstract class AbstractMigration | ||
{ | ||
/** | ||
* The Migrations Configuration instance for this migration | ||
* | ||
* @var Configuration | ||
*/ | ||
private $configuration; | ||
|
||
/** | ||
* The OutputWriter object instance used for outputting information | ||
* | ||
* @var OutputWriter | ||
*/ | ||
private $outputWriter; | ||
|
||
/** | ||
* The Doctrine\DBAL\Connection instance we are migrating | ||
* | ||
* @var Connection | ||
*/ | ||
protected $connection; | ||
|
||
/** | ||
* Reference to the SchemaManager instance referened by $_connection | ||
* | ||
* @var \Doctrine\DBAL\Schema\AbstractSchemaManager | ||
*/ | ||
protected $sm; | ||
|
||
/** | ||
* Reference to the DatabasePlatform instance referenced by $_conection | ||
* | ||
* @var \Doctrine\DBAL\Platforms\AbstractPlatform | ||
*/ | ||
protected $platform; | ||
|
||
/** | ||
* Reference to the Version instance representing this migration | ||
* | ||
* @var Version | ||
*/ | ||
protected $version; | ||
|
||
public function __construct(Version $version) | ||
{ | ||
$this->configuration = $version->getConfiguration(); | ||
$this->outputWriter = $this->configuration->getOutputWriter(); | ||
$this->connection = $this->configuration->getConnection(); | ||
$this->sm = $this->connection->getSchemaManager(); | ||
$this->platform = $this->connection->getDatabasePlatform(); | ||
$this->version = $version; | ||
} | ||
|
||
/** | ||
* Get custom migration name | ||
* | ||
* @return string | ||
*/ | ||
public function getName() | ||
{ | ||
} | ||
|
||
abstract public function up(Schema $schema); | ||
abstract public function down(Schema $schema); | ||
|
||
protected function addSql($sql, array $params = array()) | ||
{ | ||
return $this->version->addSql($sql, $params); | ||
} | ||
|
||
protected function write($message) | ||
{ | ||
$this->outputWriter->write($message); | ||
} | ||
|
||
protected function throwIrreversibleMigrationException($message = null) | ||
{ | ||
if ($message === null) { | ||
$message = 'This migration is irreversible and cannot be reverted.'; | ||
} | ||
throw new IrreversibleMigrationException($message); | ||
} | ||
|
||
/** | ||
* Print a warning message if the condition evalutes to TRUE. | ||
* | ||
* @param bool $condition | ||
* @param string $message | ||
*/ | ||
public function warnIf($condition, $message = '') | ||
{ | ||
$message = (strlen($message)) ? $message : 'Unknown Reason'; | ||
|
||
if ($condition === true) { | ||
$this->outputWriter->write(' <warning>Warning during ' . $this->version->getExecutionState() . ': ' . $message . '</warning>'); | ||
} | ||
} | ||
|
||
/** | ||
* Abort the migration if the condition evalutes to TRUE. | ||
* | ||
* @param bool $condition | ||
* @param string $message | ||
*/ | ||
public function abortIf($condition, $message = '') | ||
{ | ||
$message = (strlen($message)) ? $message : 'Unknown Reason'; | ||
|
||
if ($condition === true) { | ||
throw new AbortMigrationException($message); | ||
} | ||
} | ||
|
||
/** | ||
* Skip this migration (but not the next ones) if condition evalutes to TRUE. | ||
* | ||
* @param bool $condition | ||
* @param string $message | ||
*/ | ||
public function skipIf($condition, $message = '') | ||
{ | ||
$message = (strlen($message)) ? $message : 'Unknown Reason'; | ||
|
||
if ($condition === true) { | ||
throw new SkipMigrationException($message); | ||
} | ||
} | ||
|
||
public function preUp(Schema $schema) | ||
{ | ||
} | ||
|
||
public function postUp(Schema $schema) | ||
{ | ||
} | ||
|
||
public function preDown(Schema $schema) | ||
{ | ||
} | ||
|
||
public function postDown(Schema $schema) | ||
{ | ||
} | ||
} |
93 changes: 93 additions & 0 deletions
93
library/Doctrine/DBAL/Migrations/Configuration/AbstractFileConfiguration.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
<?php | ||
/* | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
* | ||
* This software consists of voluntary contributions made by many individuals | ||
* and is licensed under the LGPL. For more information, see | ||
* <http://www.doctrine-project.org>. | ||
*/ | ||
|
||
namespace Doctrine\DBAL\Migrations\Configuration; | ||
|
||
use Doctrine\DBAL\Migrations\MigrationsException; | ||
|
||
/** | ||
* Abstract Migration Configuration class for loading configuration information | ||
* from a configuration file (xml or yml). | ||
* | ||
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL | ||
* @link www.doctrine-project.org | ||
* @since 2.0 | ||
* @author Jonathan H. Wage <jonwage@gmail.com> | ||
*/ | ||
abstract class AbstractFileConfiguration extends Configuration | ||
{ | ||
/** | ||
* The configuration file used to load configuration information | ||
* | ||
* @var string | ||
*/ | ||
private $file; | ||
|
||
/** | ||
* Whether or not the configuration file has been loaded yet or not | ||
* | ||
* @var bool | ||
*/ | ||
private $loaded = false; | ||
|
||
/** | ||
* Load the information from the passed configuration file | ||
* | ||
* @param string $file The path to the configuration file | ||
* @return void | ||
* @throws MigrationException $exception Throws exception if configuration file was already loaded | ||
*/ | ||
public function load($file) | ||
{ | ||
if ($this->loaded) { | ||
throw MigrationsException::configurationFileAlreadyLoaded(); | ||
} | ||
if (file_exists($path = getcwd() . '/' . $file)) { | ||
$file = $path; | ||
} | ||
$this->file = $file; | ||
$this->doLoad($file); | ||
$this->loaded = true; | ||
} | ||
|
||
protected function getDirectoryRelativeToFile($file, $input) | ||
{ | ||
$path = realpath(dirname($file) . '/' . $input); | ||
if ($path !== false) { | ||
$directory = $path; | ||
} else { | ||
$directory = $input; | ||
} | ||
return $directory; | ||
} | ||
|
||
public function getFile() | ||
{ | ||
return $this->file; | ||
} | ||
|
||
/** | ||
* Abstract method that each file configuration driver must implement to | ||
* load the given configuration file whether it be xml, yaml, etc. or something | ||
* else. | ||
* | ||
* @param string $file The path to a configuration file. | ||
*/ | ||
abstract protected function doLoad($file); | ||
} |
Oops, something went wrong.