first( "SELECT 1 AS tbl FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'job'" ); if ($tableExists) { return; } $database->execute( 'CREATE TABLE job ( id INT IDENTITY(1,1) NOT NULL, campaign_id INT NOT NULL, job_type_id INT NOT NULL, attribute_values NVARCHAR(MAX) NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT PK_job PRIMARY KEY (id), CONSTRAINT FK_job_campaign FOREIGN KEY (campaign_id) REFERENCES campaign (id) ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT FK_job_job_type FOREIGN KEY (job_type_id) REFERENCES job_type (id) ON UPDATE NO ACTION ON DELETE NO ACTION )' ); $database->execute('CREATE INDEX IX_job_campaign_id ON job (campaign_id)'); } public function down(Database $database): void { $database->execute('DROP TABLE IF EXISTS job'); } };