Files
Inventory/migrations/Version20261120124000.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);
}
}