Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

41 linhas
1.2KB

  1. <?php
  2. declare(strict_types=1);
  3. use Core\Database;
  4. use Core\Migration;
  5. return new class extends Migration
  6. {
  7. public function up(Database $database): void
  8. {
  9. $tableExists = $database->first(
  10. "SELECT 1 AS tbl FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'job_audit'"
  11. );
  12. if ($tableExists) {
  13. return;
  14. }
  15. $database->execute(
  16. "CREATE TABLE job_audit (
  17. audit_id INT IDENTITY(1,1) NOT NULL,
  18. id INT NOT NULL,
  19. action CHAR(1) NOT NULL,
  20. fields NVARCHAR(MAX) NOT NULL,
  21. username NVARCHAR(255) NOT NULL DEFAULT 'system',
  22. created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  23. CONSTRAINT PK_job_audit PRIMARY KEY (audit_id),
  24. CONSTRAINT CHK_job_audit_action CHECK (action IN ('I','U','D','R'))
  25. )"
  26. );
  27. $database->execute('CREATE INDEX IX_job_audit_id ON job_audit (id)');
  28. }
  29. public function down(Database $database): void
  30. {
  31. $database->execute('DROP TABLE IF EXISTS job_audit');
  32. }
  33. };

Powered by TurnKey Linux.