353 lines
17 KiB
SQL
Executable File
353 lines
17 KiB
SQL
Executable File
-- Schema-Dump für `d044ae9e` (erstellt am 2025-12-08 00:14:08 UTC)
|
|
-- Hinweis: Es werden nur CREATE-Anweisungen ausgegeben, bestehende Tabellen bleiben unangetastet.
|
|
|
|
CREATE DATABASE IF NOT EXISTS `d044ae9e` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
USE `d044ae9e`;
|
|
SET NAMES utf8mb4;
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- Tabelle: customers
|
|
CREATE TABLE IF NOT EXISTS `customers` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(150) NOT NULL,
|
|
`slug` varchar(150) NOT NULL,
|
|
`plan` varchar(50) NOT NULL DEFAULT 'free',
|
|
`status` varchar(20) NOT NULL DEFAULT 'active',
|
|
`logo_url` varchar(255) DEFAULT NULL,
|
|
`theme_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`theme_json`)),
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `slug` (`slug`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: customer_tokens
|
|
CREATE TABLE IF NOT EXISTS `customer_tokens` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`label` varchar(120) NOT NULL,
|
|
`token_hash` char(64) NOT NULL,
|
|
`scopes` varchar(255) DEFAULT NULL,
|
|
`is_active` tinyint(1) NOT NULL DEFAULT 1,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`last_used_at` timestamp NULL DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_token_hash` (`token_hash`),
|
|
KEY `customer_id` (`customer_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: customer_users
|
|
CREATE TABLE IF NOT EXISTS `customer_users` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`email` varchar(190) NOT NULL,
|
|
`password_hash` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
|
`role` varchar(30) NOT NULL DEFAULT 'editor',
|
|
`is_active` tinyint(1) NOT NULL DEFAULT 1,
|
|
`list_sort` varchar(32) DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_customer_email` (`customer_id`,`email`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_assets
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_assets` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`type` varchar(50) NOT NULL,
|
|
`mime_type` varchar(100) NOT NULL,
|
|
`size_bytes` int(10) unsigned NOT NULL DEFAULT 0,
|
|
`public_url` varchar(1000) DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_ast_customer` (`customer_id`),
|
|
KEY `idx_ast_updated` (`updated_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_blocks
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_blocks` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`section_id` int(10) unsigned DEFAULT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`category` varchar(100) NOT NULL DEFAULT 'Default',
|
|
`json_content` mediumtext DEFAULT NULL,
|
|
`html` mediumtext DEFAULT NULL,
|
|
`editor_type` varchar(32) DEFAULT NULL,
|
|
`craft_json` mediumtext DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_blk_customer` (`customer_id`),
|
|
KEY `idx_blk_section` (`section_id`),
|
|
KEY `idx_blk_name` (`name`),
|
|
CONSTRAINT `fk_blocks_section` FOREIGN KEY (`section_id`) REFERENCES `emailtemplate_sections` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_customers
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_customers` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(150) NOT NULL,
|
|
`slug` varchar(150) NOT NULL,
|
|
`plan` varchar(50) NOT NULL DEFAULT 'free',
|
|
`status` varchar(20) NOT NULL DEFAULT 'active',
|
|
`logo_url` varchar(255) DEFAULT NULL,
|
|
`theme_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`theme_json`)),
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `slug` (`slug`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_customer_settings
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_customer_settings` (
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`bridge_url` varchar(500) DEFAULT NULL,
|
|
`bridge_token` varchar(255) DEFAULT NULL,
|
|
`sender_token` varchar(255) DEFAULT NULL,
|
|
`external_api_token` varchar(255) DEFAULT NULL,
|
|
`editor_default` varchar(32) DEFAULT NULL,
|
|
`smtp_enabled` tinyint(1) DEFAULT 0,
|
|
`smtp_host` varchar(255) DEFAULT NULL,
|
|
`smtp_port` int(10) unsigned DEFAULT NULL,
|
|
`smtp_user` varchar(255) DEFAULT NULL,
|
|
`smtp_pass` varchar(255) DEFAULT NULL,
|
|
`smtp_secure` varchar(16) DEFAULT NULL,
|
|
`smtp_from_email` varchar(255) DEFAULT NULL,
|
|
`smtp_from_name` varchar(255) DEFAULT NULL,
|
|
`smtp_reply_to` varchar(255) DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`customer_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_customer_tokens
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_customer_tokens` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`label` varchar(120) NOT NULL,
|
|
`token_hash` char(64) NOT NULL,
|
|
`scopes` varchar(255) DEFAULT NULL,
|
|
`is_active` tinyint(1) NOT NULL DEFAULT 1,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`last_used_at` timestamp NULL DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_token_hash` (`token_hash`),
|
|
KEY `customer_id` (`customer_id`),
|
|
CONSTRAINT `emailtemplate_customer_tokens_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `emailtemplate_customers` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_customer_users
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_customer_users` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`email` varchar(190) NOT NULL,
|
|
`password_hash` varchar(255) NOT NULL,
|
|
`role` varchar(30) NOT NULL DEFAULT 'editor',
|
|
`is_active` tinyint(1) NOT NULL DEFAULT 1,
|
|
`list_sort` varchar(32) DEFAULT NULL,
|
|
`created_at` timestamp NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_customer_email` (`customer_id`,`email`),
|
|
CONSTRAINT `fk_customer_users_customer` FOREIGN KEY (`customer_id`) REFERENCES `emailtemplate_customers` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_sections
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_sections` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`template_id` int(10) unsigned DEFAULT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`json_content` mediumtext DEFAULT NULL,
|
|
`type` varchar(50) NOT NULL DEFAULT 'html',
|
|
`z_index` int(11) NOT NULL DEFAULT 0,
|
|
`html` mediumtext DEFAULT NULL,
|
|
`editor_type` varchar(32) DEFAULT NULL,
|
|
`craft_json` mediumtext DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_sec_customer` (`customer_id`),
|
|
KEY `idx_sec_template` (`template_id`),
|
|
KEY `idx_sec_sort` (`template_id`,`z_index`,`id`),
|
|
CONSTRAINT `fk_sections_template` FOREIGN KEY (`template_id`) REFERENCES `emailtemplate_templates` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_section_items
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_section_items` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`section_id` int(10) unsigned NOT NULL,
|
|
`sort` int(11) NOT NULL DEFAULT 0,
|
|
`ref_type` enum('block') NOT NULL,
|
|
`ref_id` int(10) unsigned NOT NULL,
|
|
`overrides_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`overrides_json`)),
|
|
`lock_to_version` int(11) DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_sitems_section_sort` (`section_id`,`sort`),
|
|
KEY `idx_sitems_customer` (`customer_id`),
|
|
KEY `idx_sitems_ref` (`ref_type`,`ref_id`),
|
|
CONSTRAINT `fk_sitems_section` FOREIGN KEY (`section_id`) REFERENCES `emailtemplate_sections` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_sender_identities
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_sender_identities` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`label` varchar(255) NOT NULL,
|
|
`from_name` varchar(255) DEFAULT NULL,
|
|
`from_email` varchar(255) NOT NULL,
|
|
`reply_to` varchar(255) DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_sender_customer` (`customer_id`),
|
|
KEY `idx_sender_email` (`from_email`),
|
|
CONSTRAINT `fk_sender_customer` FOREIGN KEY (`customer_id`) REFERENCES `emailtemplate_customers` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_snippets
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_snippets` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`category` varchar(100) NOT NULL DEFAULT '',
|
|
`json_content` mediumtext DEFAULT NULL,
|
|
`content` mediumtext DEFAULT NULL,
|
|
`editor_type` varchar(32) DEFAULT NULL,
|
|
`craft_json` mediumtext DEFAULT NULL,
|
|
`block_id` int(10) unsigned DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_snp_customer` (`customer_id`),
|
|
KEY `idx_snp_name` (`name`),
|
|
KEY `idx_snp_block` (`block_id`),
|
|
CONSTRAINT `fk_snippets_block` FOREIGN KEY (`block_id`) REFERENCES `emailtemplate_blocks` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_templates
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_templates` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`api_name` varchar(190) NOT NULL,
|
|
`json_content` mediumtext DEFAULT NULL,
|
|
`html` mediumtext DEFAULT NULL,
|
|
`editor_type` varchar(32) DEFAULT NULL,
|
|
`craft_json` mediumtext DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_tpl_customer` (`customer_id`),
|
|
KEY `idx_tpl_updated` (`updated_at`),
|
|
KEY `idx_tpl_name` (`name`),
|
|
UNIQUE KEY `uidx_tpl_customer_api_name` (`customer_id`, `api_name`)
|
|
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_template_items
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_template_items` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`template_id` int(10) unsigned NOT NULL,
|
|
`sort` int(11) NOT NULL DEFAULT 0,
|
|
`ref_type` enum('section','block') NOT NULL,
|
|
`ref_id` int(10) unsigned NOT NULL,
|
|
`overrides_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`overrides_json`)),
|
|
`lock_to_version` int(11) DEFAULT NULL,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_titems_template_sort` (`template_id`,`sort`),
|
|
KEY `idx_titems_customer` (`customer_id`),
|
|
KEY `idx_titems_ref` (`ref_type`,`ref_id`),
|
|
CONSTRAINT `fk_titems_template` FOREIGN KEY (`template_id`) REFERENCES `emailtemplate_templates` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_template_usage
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_template_usage` (
|
|
`template_id` int(10) unsigned NOT NULL,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`render_count` int(10) unsigned NOT NULL DEFAULT 0,
|
|
`last_rendered_at` timestamp NULL DEFAULT NULL,
|
|
PRIMARY KEY (`template_id`),
|
|
KEY `idx_usage_customer` (`customer_id`),
|
|
CONSTRAINT `fk_usage_template` FOREIGN KEY (`template_id`) REFERENCES `emailtemplate_templates` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_content_sections
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_content_sections` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`slug` varchar(190) NOT NULL,
|
|
`position` int(11) NOT NULL DEFAULT 0,
|
|
`is_template` tinyint(1) NOT NULL DEFAULT 0,
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_sections_customer_slug` (`customer_id`,`slug`),
|
|
UNIQUE KEY `uq_sections_customer_name` (`customer_id`,`name`),
|
|
KEY `idx_sections_customer` (`customer_id`),
|
|
KEY `idx_sections_sort` (`customer_id`,`position`,`id`),
|
|
CONSTRAINT `fk_content_sections_customer` FOREIGN KEY (`customer_id`) REFERENCES `emailtemplate_customers` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_content_items
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_content_items` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`section_id` int(10) unsigned NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`api_name` varchar(190) DEFAULT NULL,
|
|
`category` varchar(100) DEFAULT NULL,
|
|
`json_content` mediumtext DEFAULT NULL,
|
|
`html` mediumtext DEFAULT NULL,
|
|
`editor_type` varchar(32) DEFAULT NULL,
|
|
`craft_json` mediumtext DEFAULT NULL,
|
|
`settings_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`settings_json`)),
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_items_api` (`customer_id`,`api_name`),
|
|
KEY `idx_items_customer` (`customer_id`),
|
|
KEY `idx_items_section` (`section_id`),
|
|
KEY `idx_items_name` (`name`),
|
|
CONSTRAINT `fk_content_items_section` FOREIGN KEY (`section_id`) REFERENCES `emailtemplate_content_sections` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `fk_content_items_customer` FOREIGN KEY (`customer_id`) REFERENCES `emailtemplate_customers` (`id`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- Tabelle: emailtemplate_content_versions
|
|
CREATE TABLE IF NOT EXISTS `emailtemplate_content_versions` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`customer_id` int(10) unsigned NOT NULL,
|
|
`content_id` int(10) unsigned NOT NULL,
|
|
`section_id` int(10) unsigned NOT NULL,
|
|
`version_no` int(10) unsigned NOT NULL,
|
|
`is_active` tinyint(1) NOT NULL DEFAULT 0,
|
|
`was_active` tinyint(1) NOT NULL DEFAULT 0,
|
|
`editor_type` varchar(32) DEFAULT NULL,
|
|
`json_content` mediumtext DEFAULT NULL,
|
|
`html` mediumtext DEFAULT NULL,
|
|
`craft_json` mediumtext DEFAULT NULL,
|
|
`settings_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`settings_json`)),
|
|
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_content_version` (`content_id`,`version_no`),
|
|
KEY `idx_versions_content` (`content_id`,`id`),
|
|
KEY `idx_versions_customer` (`customer_id`,`content_id`),
|
|
KEY `idx_versions_section` (`section_id`,`id`),
|
|
CONSTRAINT `fk_content_versions_customer` FOREIGN KEY (`customer_id`) REFERENCES `emailtemplate_customers` (`id`) ON DELETE CASCADE,
|
|
CONSTRAINT `fk_content_versions_content` FOREIGN KEY (`content_id`) REFERENCES `emailtemplate_content_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `fk_content_versions_section` FOREIGN KEY (`section_id`) REFERENCES `emailtemplate_content_sections` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
SET FOREIGN_KEY_CHECKS = 1;
|
|
-- Ende des Schema-Dumps
|