pelican-panel-mirror/database/migrations/2017_02_05_164123_AdjustColumnNames.php
Lance Pioch 8261184b57
Officially support PostgreSQL database (#1066)
* Just skip this table because it no longer exists

* Add postgresql

* This no longer needs to be there

* These are the same output in mysql, but different in postgresql

* Fix these migrations for postgresql

* This table no longer exists

* This is expected to be a json column for json operations, required for postgresql

* Shoot for the stars

* Fix pint

* Why was this missing

* Updates

* Restore this

* This needs to be explicit

* Don’t like strings

* Fix these classes

* Use different method to compare dates

* Apparently postgresql doesn’t like case insensitivity

* Postgresql orders it backwards

* Ordered different by postgresql

* Unnecessary and breaking

* Make sure the order is correct for postresql

* Fix this with the order too

* Remove this

* Force email to be lowercased

* Update app/Models/User.php
2025-03-30 14:44:03 -04:00

43 lines
1.2 KiB
PHP

<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('service_options', function (Blueprint $table) {
$table->dropForeign(['parent_service']);
if (!in_array(Schema::getConnection()->getDriverName(), ['sqlite', 'pgsql'])) {
$table->dropIndex('service_options_parent_service_foreign');
}
$table->renameColumn('parent_service', 'service_id');
$table->foreign('service_id')->references('id')->on('services');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('service_options', function (Blueprint $table) {
$table->dropForeign(['service_id']);
if (!in_array(Schema::getConnection()->getDriverName(), ['sqlite', 'pgsql'])) {
$table->dropIndex('service_options_service_id_foreign');
}
$table->renameColumn('service_id', 'parent_service');
$table->foreign('parent_service')->references('id')->on('services');
});
}
};