<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20260415124909 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE syncable_resource (id INT AUTO_INCREMENT NOT NULL, resource_type VARCHAR(255) NOT NULL, resource_id VARCHAR(255) NOT NULL, label VARCHAR(255) NOT NULL, deleted_at DATETIME DEFAULT NULL, last_sync_requested_at DATETIME DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_AD79B1B683FEF793 (resource_type), INDEX IDX_AD79B1B689329D25 (resource_id), INDEX IDX_AD79B1B6EA750E8 (label), UNIQUE INDEX UNIQ_AD79B1B683FEF79389329D25 (resource_type, resource_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE syncable_resource_app_state (id INT AUTO_INCREMENT NOT NULL, syncable_resource_id INT NOT NULL, app_id INT NOT NULL, status VARCHAR(255) NOT NULL, last_sync_request_uuid VARCHAR(255) DEFAULT NULL, last_acked_at DATETIME DEFAULT NULL, last_attempt_at DATETIME DEFAULT NULL, last_error_message LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_7148E99E7395115E (syncable_resource_id), INDEX IDX_7148E99E7987212D (app_id), INDEX IDX_7148E99E7B00651C (status), UNIQUE INDEX UNIQ_7148E99E7395115E7987212D (syncable_resource_id, app_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE syncable_resource_app_state ADD CONSTRAINT FK_7148E99E7395115E FOREIGN KEY (syncable_resource_id) REFERENCES syncable_resource (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE syncable_resource_app_state ADD CONSTRAINT FK_7148E99E7987212D FOREIGN KEY (app_id) REFERENCES app (id) ON DELETE CASCADE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE syncable_resource_app_state DROP FOREIGN KEY FK_7148E99E7395115E');
$this->addSql('ALTER TABLE syncable_resource_app_state DROP FOREIGN KEY FK_7148E99E7987212D');
$this->addSql('DROP TABLE syncable_resource');
$this->addSql('DROP TABLE syncable_resource_app_state');
}
}