我正在使用Doctrine迁移。我刚刚了解了skipIf()
类中的AbstractMigration
方法,如果列存在,我想用它跳过一些代码。
有人可以举例说明我该怎么做吗?
答案 0 :(得分:3)
如果您的方法中有典型的Schema
类,则可以执行以下操作:
public function up(Schema $schema)
{
if (!$schema->getTable('your_table')->hasColumn('your_column')) {
// do your code
}
}
或者,如果您想使用skipIf
,您应该可以执行以下操作,但我还没有测试过。
public function up(Schema $schema)
{
$this->skipIf(
$schema->getTable('your_table')->hasColumn('your_column'),
'Skipping because `your_column` exists'
);
}