pelican-panel-mirror/database/migrations/2021_07_12_013420_remove_userinteraction.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

36 lines
965 B
PHP

<?php
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
if (Schema::getConnection()->getDriverName() === 'pgsql') {
DB::table('eggs')->update([
'config_startup' => DB::raw("config_startup::jsonb - 'userInteraction'"),
]);
return;
}
// Remove User Interaction from startup config
DB::table('eggs')->update([
'config_startup' => DB::raw('JSON_REMOVE(config_startup, \'$.userInteraction\')'),
]);
}
public function down(): void
{
// Add blank User Interaction array back to startup config
DB::table('eggs')->update([
'config_startup' => DB::raw('JSON_SET(config_startup, \'$.userInteraction\', JSON_ARRAY())'),
]);
}
};