94 lines
5.7 KiB
MySQL
94 lines
5.7 KiB
MySQL
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
-- pc-live | Database Schema
|
||
|
|
-- Run this once against your game database.
|
||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `pc_live_users` (
|
||
|
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
|
|
`identifier` VARCHAR(120) NOT NULL,
|
||
|
|
`display_name` VARCHAR(100) NOT NULL DEFAULT '',
|
||
|
|
`settings_json` TEXT NOT NULL DEFAULT '{}',
|
||
|
|
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
UNIQUE KEY `uq_identifier` (`identifier`)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `pc_live_installs` (
|
||
|
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
|
|
`user_id` INT UNSIGNED NOT NULL,
|
||
|
|
`app_id` VARCHAR(80) NOT NULL,
|
||
|
|
`version` VARCHAR(20) NOT NULL DEFAULT '1.0.0',
|
||
|
|
`installed_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
UNIQUE KEY `uq_user_app` (`user_id`, `app_id`),
|
||
|
|
CONSTRAINT `fk_installs_user` FOREIGN KEY (`user_id`)
|
||
|
|
REFERENCES `pc_live_users` (`id`) ON DELETE CASCADE
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `pc_live_mail` (
|
||
|
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
|
|
`to_identifier` VARCHAR(120) NOT NULL,
|
||
|
|
`from_identifier` VARCHAR(120) NOT NULL,
|
||
|
|
`subject` VARCHAR(80) NOT NULL,
|
||
|
|
`body` TEXT NOT NULL,
|
||
|
|
`is_read` TINYINT(1) NOT NULL DEFAULT 0,
|
||
|
|
`folder_id` INT UNSIGNED NULL DEFAULT NULL,
|
||
|
|
`sent_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
KEY `idx_to_identifier` (`to_identifier`),
|
||
|
|
KEY `idx_sent_at` (`sent_at`)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `pc_live_mail_folders` (
|
||
|
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
|
|
`identifier` VARCHAR(120) NOT NULL,
|
||
|
|
`name` VARCHAR(80) NOT NULL,
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
KEY `idx_identifier` (`identifier`)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `pc_live_calendar` (
|
||
|
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
|
|
`identifier` VARCHAR(120) NOT NULL,
|
||
|
|
`title` VARCHAR(120) NOT NULL,
|
||
|
|
`description` VARCHAR(500) NOT NULL DEFAULT '',
|
||
|
|
`start_at` DATETIME NOT NULL,
|
||
|
|
`end_at` DATETIME NULL DEFAULT NULL,
|
||
|
|
`color` VARCHAR(20) NOT NULL DEFAULT '#00aaff',
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
KEY `idx_identifier` (`identifier`),
|
||
|
|
KEY `idx_start_at` (`start_at`)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `pc_live_contacts` (
|
||
|
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
|
|
`identifier` VARCHAR(120) NOT NULL,
|
||
|
|
`name` VARCHAR(100) NOT NULL,
|
||
|
|
`email` VARCHAR(120) NOT NULL DEFAULT '',
|
||
|
|
`phone` VARCHAR(30) NOT NULL DEFAULT '',
|
||
|
|
`notes` VARCHAR(500) NOT NULL DEFAULT '',
|
||
|
|
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
KEY `idx_identifier` (`identifier`)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
-- Migration: add folder_id to pc_live_mail if it doesn't exist yet
|
||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
||
|
|
ALTER TABLE `pc_live_mail`
|
||
|
|
ADD COLUMN IF NOT EXISTS `folder_id` INT UNSIGNED NULL DEFAULT NULL;
|
||
|
|
|
||
|
|
ALTER TABLE `pc_live_mail`
|
||
|
|
ADD COLUMN IF NOT EXISTS `sender_id` VARCHAR(120) NULL DEFAULT NULL,
|
||
|
|
ADD COLUMN IF NOT EXISTS `to_address` VARCHAR(120) NULL DEFAULT NULL;
|