Database: tmv_pilsner
Export the complete database schema as a SQL file. The schema will be saved to /database-schema.sql
-- ============================================================================
-- Database Schema Export
-- Database: tmv_pilsner
-- Generated: 2026-03-24 15:05:39
-- ============================================================================
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
-- ============================================================================
-- Table: activity_log
-- ============================================================================
DROP TABLE IF EXISTS `activity_log`;
CREATE TABLE `activity_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`action` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`description` text COLLATE utf8mb4_unicode_ci,
`ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`user_agent` text COLLATE utf8mb4_unicode_ci,
`request_method` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`request_uri` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_action` (`action`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=109 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================================
-- Table: email_templates
-- ============================================================================
DROP TABLE IF EXISTS `email_templates`;
CREATE TABLE `email_templates` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`template_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`subject` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`content` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`created_by` 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`),
UNIQUE KEY `template_name` (`template_name`),
KEY `idx_template_name` (`template_name`),
KEY `idx_created_by` (`created_by`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================================
-- Table: excel_imports
-- ============================================================================
DROP TABLE IF EXISTS `excel_imports`;
CREATE TABLE `excel_imports` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`meno` text,
`priezvisko` text,
`datum` text,
`cislo` text,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ============================================================================
-- Table: form_submissions
-- ============================================================================
DROP TABLE IF EXISTS `form_submissions`;
CREATE TABLE `form_submissions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`last_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`phone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`country` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`language` text COLLATE utf8mb4_unicode_ci,
`gender` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`interests` text COLLATE utf8mb4_unicode_ci,
`date_of_birth` date DEFAULT NULL,
`appointment_time` datetime DEFAULT NULL,
`website` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`message` text COLLATE utf8mb4_unicode_ci,
`rating` int(11) DEFAULT NULL,
`favorite_color` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`newsletter` tinyint(1) DEFAULT '0',
`terms` tinyint(1) DEFAULT '0',
`ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`user_agent` text COLLATE utf8mb4_unicode_ci,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`user_id` int(64) NOT NULL,
PRIMARY KEY (`id`),
KEY `idx_email` (`email`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================================
-- Table: mail_log
-- ============================================================================
DROP TABLE IF EXISTS `mail_log`;
CREATE TABLE `mail_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`trn` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Module code identifying the email context',
`mail_status` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Result of the email sending attempt',
`recipient` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Comma-separated list of recipient email addresses',
`zaznamenal` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'User ID who triggered the email',
`smtp_server` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'SMTP server used',
`sender_email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Sender email address',
`sent_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'When the log entry was created',
PRIMARY KEY (`id`),
KEY `idx_trn` (`trn`),
KEY `idx_sent_at` (`sent_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================================
-- Table: page_permissions
-- ============================================================================
DROP TABLE IF EXISTS `page_permissions`;
CREATE TABLE `page_permissions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`path_pattern` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_user_path` (`user_id`,`path_pattern`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================================
-- Table: password_resets
-- ============================================================================
DROP TABLE IF EXISTS `password_resets`;
CREATE TABLE `password_resets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`expires_at` datetime NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `token` (`token`),
KEY `idx_token` (`token`),
KEY `idx_email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================================
-- Table: public_pages
-- ============================================================================
DROP TABLE IF EXISTS `public_pages`;
CREATE TABLE `public_pages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`path_pattern` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `path_pattern` (`path_pattern`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================================
-- Table: sample_table
-- ============================================================================
DROP TABLE IF EXISTS `sample_table`;
CREATE TABLE `sample_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`meno` varchar(100) DEFAULT NULL,
`priezvisko` varchar(100) DEFAULT NULL,
`datum_nastupu` date DEFAULT NULL,
`aktivny` tinyint(1) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`autor` varchar(100) DEFAULT NULL,
`poznamka` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ============================================================================
-- Table: sessions
-- ============================================================================
DROP TABLE IF EXISTS `sessions`;
CREATE TABLE `sessions` (
`id` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL,
`user_id` int(11) DEFAULT NULL,
`data` text COLLATE utf8mb4_unicode_ci NOT NULL,
`ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`user_agent` text COLLATE utf8mb4_unicode_ci,
`timestamp` int(11) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_timestamp` (`timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ============================================================================
-- Table: users
-- ============================================================================
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`active` tinyint(1) NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`first_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`last_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`tenant_id` int(11) DEFAULT NULL,
`phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`2fa_enabled` tinyint(1) DEFAULT '0',
`2fa_method` enum('email','sms','totp') COLLATE utf8mb4_unicode_ci DEFAULT 'email',
`totp_secret` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Encrypted TOTP secret key for authenticator apps',
`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 `email` (`email`),
KEY `idx_email` (`email`),
KEY `idx_tenant_id` (`tenant_id`),
KEY `idx_2fa_enabled` (`2fa_enabled`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
COMMIT;
-- ============================================================================
-- END OF SCHEMA
-- ============================================================================