56 lines
1.7 KiB
PHP
56 lines
1.7 KiB
PHP
<?php
|
||
|
||
/**
|
||
* config 表在初始 install 中未含 create_time/update_time,而 Config 模型开启自动时间戳,
|
||
* Version205 等迁移使用 Model::save() 会生成对 update_time 的 UPDATE,导致 1054 错误。
|
||
* 本迁移在 Version205 之前执行,补齐字段。
|
||
*/
|
||
use Phinx\Migration\AbstractMigration;
|
||
|
||
class AddConfigTimestamps extends AbstractMigration
|
||
{
|
||
public function up(): void
|
||
{
|
||
if (!$this->hasTable('config')) {
|
||
return;
|
||
}
|
||
$config = $this->table('config');
|
||
if (!$config->hasColumn('update_time')) {
|
||
$config->addColumn('update_time', 'biginteger', [
|
||
'limit' => 16,
|
||
'signed' => false,
|
||
'null' => true,
|
||
'default' => null,
|
||
'comment' => '更新时间',
|
||
'after' => 'weigh',
|
||
])->save();
|
||
}
|
||
$config = $this->table('config');
|
||
if (!$config->hasColumn('create_time')) {
|
||
$config->addColumn('create_time', 'biginteger', [
|
||
'limit' => 16,
|
||
'signed' => false,
|
||
'null' => true,
|
||
'default' => null,
|
||
'comment' => '创建时间',
|
||
'after' => 'update_time',
|
||
])->save();
|
||
}
|
||
}
|
||
|
||
public function down(): void
|
||
{
|
||
if (!$this->hasTable('config')) {
|
||
return;
|
||
}
|
||
$config = $this->table('config');
|
||
if ($config->hasColumn('create_time')) {
|
||
$config->removeColumn('create_time')->save();
|
||
}
|
||
$config = $this->table('config');
|
||
if ($config->hasColumn('update_time')) {
|
||
$config->removeColumn('update_time')->save();
|
||
}
|
||
}
|
||
}
|