【问题标题】:Add own custom method to DoctrineMigrations将自己的自定义方法添加到 DoctrineMigrations
【发布时间】:2016-12-08 20:50:14
【问题描述】:
您好,我想创建自己的自定义方法,可以在迁移类中使用。我的意思是这样的:
MigrationTraitFile.php
trait MigrationTrait {
public function addAdditionalTable() {
...
}
版本XXX.php
class VersionXXX {
use MigrationTrait;
public function up() {
$this->addAdditionalTable()
}
所以特征应该添加Sql 来在我的迁移类中创建表。有什么想法吗?
【问题讨论】:
标签:
php
symfony
doctrine-orm
doctrine-migrations
【解决方案1】:
由于 trait 没有/不应该有任何上下文,你传入一个参数:
性状:
use Doctrine\DBAL\Migrations\AbstractMigration;
trait MigrationTrait {
public function addAdditionalTable(AbstractMigration $migration) {
$migration->addSql('...');
}
}
版本:
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
class VersionXXX extends AbstractMigration {
use MigrationTrait;
public function up(Schema $schema) {
$this->addAdditionalTable($this)
}
}