|
- <?php
-
- declare(strict_types=1);
-
- use Core\Database;
- use Core\Migration;
-
- return new class extends Migration
- {
- public function up(Database $database): void
- {
- $tableExists = $database->first(
- "SELECT 1 AS tbl FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'campaign'"
- );
-
- if ($tableExists) {
- return;
- }
-
- $database->execute(
- 'CREATE TABLE campaign (
- id INT IDENTITY(1,1) NOT NULL,
- campaign_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_campaign PRIMARY KEY (id),
- CONSTRAINT FK_campaign_campaign_type FOREIGN KEY (campaign_type_id)
- REFERENCES campaign_type (id)
- ON UPDATE NO ACTION
- ON DELETE NO ACTION
- )'
- );
- }
-
- public function down(Database $database): void
- {
- $database->execute('DROP TABLE IF EXISTS campaign');
- }
- };
|