|
|
|
|
@ -0,0 +1,44 @@
|
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
use Illuminate\Database\Migrations\Migration;
|
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 一次性数据修正:导入后排序颠倒时,将 sort 在 1~101 之间的记录按 1↔101、2↔100 … 对调。
|
|
|
|
|
* 公式:新 sort = 102 - 原 sort(仅作用于 1 ≤ sort ≤ 101)。
|
|
|
|
|
*/
|
|
|
|
|
return new class extends Migration
|
|
|
|
|
{
|
|
|
|
|
public function up(): void
|
|
|
|
|
{
|
|
|
|
|
$driver = DB::getDriverName();
|
|
|
|
|
|
|
|
|
|
if ($driver === 'mysql') {
|
|
|
|
|
DB::update(
|
|
|
|
|
'UPDATE `venues` SET `sort` = 102 - `sort` WHERE `sort` >= 1 AND `sort` <= 101'
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($driver === 'pgsql') {
|
|
|
|
|
DB::update(
|
|
|
|
|
'UPDATE venues SET sort = 102 - sort WHERE sort >= 1 AND sort <= 101'
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($driver === 'sqlite') {
|
|
|
|
|
DB::update(
|
|
|
|
|
'UPDATE venues SET sort = 102 - sort WHERE sort >= 1 AND sort <= 101'
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function down(): void
|
|
|
|
|
{
|
|
|
|
|
// 再执行一次相同变换即可还原(对称)
|
|
|
|
|
$this->up();
|
|
|
|
|
}
|
|
|
|
|
};
|