95 lines
3.1 KiB
PHP
95 lines
3.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace DoctrineMigrations;
|
|
|
|
use Doctrine\DBAL\Schema\Schema;
|
|
use Doctrine\Migrations\AbstractMigration;
|
|
|
|
final class Version20261120124000 extends AbstractMigration
|
|
{
|
|
public function getDescription(): string
|
|
{
|
|
return 'Normalize profiles columns to camelCase (quoted identifiers).';
|
|
}
|
|
|
|
public function up(Schema $schema): void
|
|
{
|
|
$this->addSql(<<<'SQL'
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'firstname'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN firstname TO "firstName";
|
|
END IF;
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'lastname'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN lastname TO "lastName";
|
|
END IF;
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'isactive'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN isactive TO "isActive";
|
|
END IF;
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'createdat'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN createdat TO "createdAt";
|
|
END IF;
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'updatedat'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN updatedat TO "updatedAt";
|
|
END IF;
|
|
END $$;
|
|
SQL);
|
|
}
|
|
|
|
public function down(Schema $schema): void
|
|
{
|
|
$this->addSql(<<<'SQL'
|
|
DO $$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'firstName'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN "firstName" TO firstname;
|
|
END IF;
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'lastName'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN "lastName" TO lastname;
|
|
END IF;
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'isActive'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN "isActive" TO isactive;
|
|
END IF;
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'createdAt'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN "createdAt" TO createdat;
|
|
END IF;
|
|
IF EXISTS (
|
|
SELECT 1 FROM information_schema.columns
|
|
WHERE table_schema = 'public' AND table_name = 'profiles' AND column_name = 'updatedAt'
|
|
) THEN
|
|
ALTER TABLE public.profiles RENAME COLUMN "updatedAt" TO updatedat;
|
|
END IF;
|
|
END $$;
|
|
SQL);
|
|
}
|
|
}
|