From 77dc80454717f54ac95b174f557a98c048de3bc0 Mon Sep 17 00:00:00 2001 From: tristan Date: Mon, 6 Apr 2026 13:30:44 +0200 Subject: [PATCH] feat : add migration for application, environment, log_file tables Co-Authored-By: Claude Opus 4.6 (1M context) --- migrations/Version20260406113025.php | 42 ++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 migrations/Version20260406113025.php diff --git a/migrations/Version20260406113025.php b/migrations/Version20260406113025.php new file mode 100644 index 0000000..35be556 --- /dev/null +++ b/migrations/Version20260406113025.php @@ -0,0 +1,42 @@ +addSql('CREATE TABLE application (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, name VARCHAR(255) NOT NULL, slug VARCHAR(255) NOT NULL, registry_image VARCHAR(255) NOT NULL, description TEXT DEFAULT NULL, gitea_url VARCHAR(255) DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY (id))'); + $this->addSql('CREATE UNIQUE INDEX UNIQ_A45BDDC1989D9B62 ON application (slug)'); + $this->addSql('CREATE TABLE environment (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, name VARCHAR(255) NOT NULL, container_name VARCHAR(255) NOT NULL, deploy_script_path VARCHAR(255) NOT NULL, maintenance_file_path VARCHAR(255) NOT NULL, app_url VARCHAR(255) DEFAULT NULL, application_id INT NOT NULL, PRIMARY KEY (id))'); + $this->addSql('CREATE INDEX IDX_4626DE223E030ACD ON environment (application_id)'); + $this->addSql('CREATE TABLE log_file (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, label VARCHAR(255) NOT NULL, path VARCHAR(255) NOT NULL, environment_id INT NOT NULL, PRIMARY KEY (id))'); + $this->addSql('CREATE INDEX IDX_9DF1D865903E3A94 ON log_file (environment_id)'); + $this->addSql('ALTER TABLE environment ADD CONSTRAINT FK_4626DE223E030ACD FOREIGN KEY (application_id) REFERENCES application (id) NOT DEFERRABLE'); + $this->addSql('ALTER TABLE log_file ADD CONSTRAINT FK_9DF1D865903E3A94 FOREIGN KEY (environment_id) REFERENCES environment (id) NOT DEFERRABLE'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE environment DROP CONSTRAINT FK_4626DE223E030ACD'); + $this->addSql('ALTER TABLE log_file DROP CONSTRAINT FK_9DF1D865903E3A94'); + $this->addSql('DROP TABLE application'); + $this->addSql('DROP TABLE environment'); + $this->addSql('DROP TABLE log_file'); + } +}