【问题标题】: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)
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-26
      • 2011-01-10
      • 2016-07-10
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 2022-01-09
      相关资源
      最近更新 更多