first( "SELECT 1 AS tbl FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'job_audit'" ); if ($tableExists) { return; } $database->execute( "CREATE TABLE job_audit ( audit_id INT IDENTITY(1,1) NOT NULL, id INT NOT NULL, action CHAR(1) NOT NULL, fields NVARCHAR(MAX) NOT NULL, username NVARCHAR(255) NOT NULL DEFAULT 'system', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT PK_job_audit PRIMARY KEY (audit_id), CONSTRAINT CHK_job_audit_action CHECK (action IN ('I','U','D','R')) )" ); $database->execute('CREATE INDEX IX_job_audit_id ON job_audit (id)'); } public function down(Database $database): void { $database->execute('DROP TABLE IF EXISTS job_audit'); } };