嗨,我想创建自己可以在迁移类中使用的自定义方法。我的意思是这样:
migrationTraitfile.php
trait MigrationTrait {
public function addAdditionalTable() {
...
}
版本xxx.php
class VersionXXX {
use MigrationTrait;
public function up() {
$this->addAdditionalTable()
}
因此,特征应添加SQL以在我的迁移类中创建表。有什么想法吗?
由于特征没有/不应该有任何上下文,因此您通过参数传递:
特质:
use DoctrineDBALMigrationsAbstractMigration;
trait MigrationTrait {
public function addAdditionalTable(AbstractMigration $migration) {
$migration->addSql('...');
}
}
版本:
use DoctrineDBALMigrationsAbstractMigration;
use DoctrineDBALSchemaSchema;
class VersionXXX extends AbstractMigration {
use MigrationTrait;
public function up(Schema $schema) {
$this->addAdditionalTable($this)
}
}