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'); } }