master
parent
e5e221a61d
commit
35d7698601
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
if (! Schema::hasColumn('venues', 'contact_phone') || ! Schema::hasColumn('activities', 'contact_phone')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$driver = Schema::getConnection()->getDriverName();
|
||||
|
||||
if ($driver === 'mysql') {
|
||||
DB::statement('ALTER TABLE `venues` MODIFY `contact_phone` VARCHAR(64) NULL');
|
||||
DB::statement('ALTER TABLE `activities` MODIFY `contact_phone` VARCHAR(64) NULL');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($driver === 'pgsql') {
|
||||
DB::statement('ALTER TABLE venues ALTER COLUMN contact_phone TYPE VARCHAR(64)');
|
||||
DB::statement('ALTER TABLE activities ALTER COLUMN contact_phone TYPE VARCHAR(64)');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// sqlite 等对长度约束较宽松,列已存在时可不改;新环境仍以迁移定义为准
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
if (! Schema::hasColumn('venues', 'contact_phone') || ! Schema::hasColumn('activities', 'contact_phone')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$driver = Schema::getConnection()->getDriverName();
|
||||
|
||||
if ($driver === 'mysql') {
|
||||
DB::statement('ALTER TABLE `venues` MODIFY `contact_phone` VARCHAR(20) NULL');
|
||||
DB::statement('ALTER TABLE `activities` MODIFY `contact_phone` VARCHAR(20) NULL');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($driver === 'pgsql') {
|
||||
DB::statement('ALTER TABLE venues ALTER COLUMN contact_phone TYPE VARCHAR(20)');
|
||||
DB::statement('ALTER TABLE activities ALTER COLUMN contact_phone TYPE VARCHAR(20)');
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
if (! Schema::hasColumn('venues', 'open_time')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$driver = Schema::getConnection()->getDriverName();
|
||||
|
||||
if ($driver === 'mysql') {
|
||||
DB::statement('ALTER TABLE `venues` MODIFY `open_time` TEXT NULL');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($driver === 'pgsql') {
|
||||
DB::statement('ALTER TABLE venues ALTER COLUMN open_time TYPE TEXT');
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
if (! Schema::hasColumn('venues', 'open_time')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$driver = Schema::getConnection()->getDriverName();
|
||||
|
||||
if ($driver === 'mysql') {
|
||||
DB::statement('ALTER TABLE `venues` MODIFY `open_time` VARCHAR(120) NULL');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($driver === 'pgsql') {
|
||||
DB::statement('ALTER TABLE venues ALTER COLUMN open_time TYPE VARCHAR(120)');
|
||||
}
|
||||
}
|
||||
};
|
||||
Loading…
Reference in new issue