Files
tonehaus/migrations/Version20251114114000.php
boris cd04fa5212
All checks were successful
CI - Build Tonehaus Docker image / tonehaus-ci-build (push) Successful in 2m17s
CRUD Albums + Spotify API requests into DB.
2025-11-20 19:54:31 +00:00

46 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20251114114000 extends AbstractMigration
{
public function getDescription(): string
{
return 'Drop legacy duplicated review columns: spotify_album_id, album_name, album_artist';
}
public function up(Schema $schema): void
{
// Guard: drop columns only if they exist
$this->addSql(<<<'SQL'
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='reviews' AND column_name='spotify_album_id') THEN
ALTER TABLE reviews DROP COLUMN spotify_album_id;
END IF;
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='reviews' AND column_name='album_name') THEN
ALTER TABLE reviews DROP COLUMN album_name;
END IF;
IF EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name='reviews' AND column_name='album_artist') THEN
ALTER TABLE reviews DROP COLUMN album_artist;
END IF;
END $$;
SQL);
}
public function down(Schema $schema): void
{
// Recreate columns as nullable in down migration
$this->addSql('ALTER TABLE reviews ADD spotify_album_id VARCHAR(64) DEFAULT NULL');
$this->addSql('ALTER TABLE reviews ADD album_name VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE reviews ADD album_artist VARCHAR(255) DEFAULT NULL');
}
}