-- MySQL dump 10.13  Distrib 8.0.32, for macos13.0 (arm64)
--
-- Host: localhost    Database: gaseous
-- ------------------------------------------------------
-- Server version	8.0.32

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `artwork`
--

DROP TABLE IF EXISTS `artwork`;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `artwork` (
  `id` bigint NOT NULL,
  `alphachannel` tinyint(1) DEFAULT NULL,
  `animated` tinyint(1) DEFAULT NULL,
  `checksum` varchar(45) DEFAULT NULL,
  `game` bigint DEFAULT NULL,
  `height` int DEFAULT NULL,
  `imageid` varchar(45) DEFAULT NULL,
  `url` varchar(255) DEFAULT NULL,
  `width` int DEFAULT NULL,
  `dateAdded` datetime DEFAULT NULL,
  `lastUpdated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `cover`
--

DROP TABLE IF EXISTS `cover`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `cover` (
  `id` bigint NOT NULL,
  `alphachannel` tinyint(1) DEFAULT NULL,
  `animated` tinyint(1) DEFAULT NULL,
  `checksum` varchar(45) DEFAULT NULL,
  `game` bigint DEFAULT NULL,
  `height` int DEFAULT NULL,
  `imageid` varchar(45) DEFAULT NULL,
  `url` varchar(255) DEFAULT NULL,
  `width` int DEFAULT NULL,
  `dateAdded` datetime DEFAULT NULL,
  `lastUpdated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `game`
--

DROP TABLE IF EXISTS `game`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `game` (
  `id` bigint NOT NULL,
  `ageratings` json DEFAULT NULL,
  `aggregatedrating` double DEFAULT NULL,
  `aggregatedratingcount` int DEFAULT NULL,
  `alternativenames` json DEFAULT NULL,
  `artworks` json DEFAULT NULL,
  `bundles` json DEFAULT NULL,
  `category` int DEFAULT NULL,
  `checksum` varchar(45) DEFAULT NULL,
  `collection` bigint DEFAULT NULL,
  `cover` bigint DEFAULT NULL,
  `createdat` datetime DEFAULT NULL,
  `dlcs` json DEFAULT NULL,
  `expansions` json DEFAULT NULL,
  `externalgames` json DEFAULT NULL,
  `firstreleasedate` datetime DEFAULT NULL,
  `follows` int DEFAULT NULL,
  `franchise` bigint DEFAULT NULL,
  `franchises` json DEFAULT NULL,
  `gameengines` json DEFAULT NULL,
  `gamemodes` json DEFAULT NULL,
  `genres` json DEFAULT NULL,
  `hypes` int DEFAULT NULL,
  `involvedcompanies` json DEFAULT NULL,
  `keywords` json DEFAULT NULL,
  `multiplayermodes` json DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `parentgame` bigint DEFAULT NULL,
  `platforms` json DEFAULT NULL,
  `playerperspectives` json DEFAULT NULL,
  `rating` double DEFAULT NULL,
  `ratingcount` int DEFAULT NULL,
  `releasedates` json DEFAULT NULL,
  `screenshots` json DEFAULT NULL,
  `similargames` json DEFAULT NULL,
  `slug` varchar(100) DEFAULT NULL,
  `standaloneexpansions` json DEFAULT NULL,
  `status` int DEFAULT NULL,
  `storyline` longtext,
  `summary` longtext,
  `tags` json DEFAULT NULL,
  `themes` json DEFAULT NULL,
  `totalrating` double DEFAULT NULL,
  `totalratingcount` int DEFAULT NULL,
  `updatedat` datetime DEFAULT NULL,
  `url` varchar(100) DEFAULT NULL,
  `versionparent` bigint DEFAULT NULL,
  `versiontitle` varchar(100) DEFAULT NULL,
  `videos` json DEFAULT NULL,
  `websites` json DEFAULT NULL,
  `dateAdded` datetime DEFAULT NULL,
  `lastUpdated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `games_roms`
--

DROP TABLE IF EXISTS `games_roms`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `games_roms` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `platformid` bigint DEFAULT NULL,
  `gameid` bigint DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `size` bigint DEFAULT NULL,
  `crc` varchar(20) DEFAULT NULL,
  `md5` varchar(100) DEFAULT NULL,
  `sha1` varchar(100) DEFAULT NULL,
  `developmentstatus` varchar(100) DEFAULT NULL,
  `flags` json DEFAULT NULL,
  `romtype` int DEFAULT NULL,
  `romtypemedia` varchar(100) DEFAULT NULL,
  `medialabel` varchar(100) DEFAULT NULL,
  `path` longtext,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `platform`
--

DROP TABLE IF EXISTS `platform`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `platform` (
  `id` bigint NOT NULL,
  `abbreviation` varchar(45) DEFAULT NULL,
  `alternativename` varchar(45) DEFAULT NULL,
  `category` int DEFAULT NULL,
  `checksum` varchar(45) DEFAULT NULL,
  `createdat` datetime DEFAULT NULL,
  `generation` int DEFAULT NULL,
  `name` varchar(45) DEFAULT NULL,
  `platformfamily` int DEFAULT NULL,
  `platformlogo` int DEFAULT NULL,
  `slug` varchar(45) DEFAULT NULL,
  `summary` longtext,
  `updatedat` datetime DEFAULT NULL,
  `url` varchar(255) DEFAULT NULL,
  `versions` json DEFAULT NULL,
  `websites` json DEFAULT NULL,
  `dateAdded` datetime DEFAULT NULL,
  `lastUpdated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `platformlogo`
--

DROP TABLE IF EXISTS `platformlogo`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `platformlogo` (
  `id` bigint NOT NULL,
  `alphachannel` tinyint(1) DEFAULT NULL,
  `animated` tinyint(1) DEFAULT NULL,
  `checksum` varchar(45) DEFAULT NULL,
  `height` int DEFAULT NULL,
  `imageid` varchar(45) DEFAULT NULL,
  `url` varchar(255) DEFAULT NULL,
  `width` int DEFAULT NULL,
  `dateAdded` datetime DEFAULT NULL,
  `lastUpdated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `platformversion`
--

DROP TABLE IF EXISTS `platformversion`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `platformversion` (
  `id` bigint NOT NULL,
  `checksum` varchar(45) DEFAULT NULL,
  `companies` json DEFAULT NULL,
  `connectivity` longtext,
  `cpu` longtext,
  `graphics` longtext,
  `mainmanufacturer` bigint DEFAULT NULL,
  `media` longtext,
  `memory` longtext,
  `name` longtext,
  `os` longtext,
  `output` longtext,
  `platformlogo` int DEFAULT NULL,
  `platformversionreleasedates` json DEFAULT NULL,
  `resolutions` longtext,
  `slug` longtext,
  `sound` longtext,
  `storage` longtext,
  `summary` longtext,
  `url` varchar(255) DEFAULT NULL,
  `dateAdded` datetime DEFAULT NULL,
  `lastUpdated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `screenshot`
--

DROP TABLE IF EXISTS `screenshot`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `screenshot` (
  `id` bigint NOT NULL,
  `alphachannel` tinyint(1) DEFAULT NULL,
  `animated` tinyint(1) DEFAULT NULL,
  `checksum` varchar(45) DEFAULT NULL,
  `game` bigint DEFAULT NULL,
  `height` int DEFAULT NULL,
  `imageid` varchar(45) DEFAULT NULL,
  `url` varchar(255) DEFAULT NULL,
  `width` int DEFAULT NULL,
  `dateAdded` datetime DEFAULT NULL,
  `lastUpdated` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `settings`
--

DROP TABLE IF EXISTS `settings`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `settings` (
  `setting` varchar(45) NOT NULL,
  `value` longtext,
  PRIMARY KEY (`setting`),
  UNIQUE KEY `setting_UNIQUE` (`setting`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `signatures_games`
--

DROP TABLE IF EXISTS `signatures_games`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `signatures_games` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `description` varchar(255) DEFAULT NULL,
  `year` varchar(15) DEFAULT NULL,
  `publisherid` int DEFAULT NULL,
  `demo` int DEFAULT NULL,
  `systemid` int DEFAULT NULL,
  `systemvariant` varchar(100) DEFAULT NULL,
  `video` varchar(10) DEFAULT NULL,
  `country` varchar(5) DEFAULT NULL,
  `language` varchar(5) DEFAULT NULL,
  `copyright` varchar(15) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  KEY `publisher_idx` (`publisherid`),
  KEY `system_idx` (`systemid`),
  KEY `ingest_idx` (`name`,`year`,`publisherid`,`systemid`,`country`,`language`) USING BTREE,
  CONSTRAINT `publisher` FOREIGN KEY (`publisherid`) REFERENCES `signatures_publishers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `system` FOREIGN KEY (`systemid`) REFERENCES `signatures_platforms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `signatures_platforms`
--

DROP TABLE IF EXISTS `signatures_platforms`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `signatures_platforms` (
  `id` int NOT NULL AUTO_INCREMENT,
  `platform` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `idsignatures_platforms_UNIQUE` (`id`),
  KEY `platforms_idx` (`platform`,`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `signatures_publishers`
--

DROP TABLE IF EXISTS `signatures_publishers`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `signatures_publishers` (
  `id` int NOT NULL AUTO_INCREMENT,
  `publisher` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  KEY `publisher_idx` (`publisher`,`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `signatures_roms`
--

DROP TABLE IF EXISTS `signatures_roms`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `signatures_roms` (
  `id` int NOT NULL AUTO_INCREMENT,
  `gameid` int DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `size` bigint DEFAULT NULL,
  `crc` varchar(20) DEFAULT NULL,
  `md5` varchar(100) DEFAULT NULL,
  `sha1` varchar(100) DEFAULT NULL,
  `developmentstatus` varchar(100) DEFAULT NULL,
  `flags` json DEFAULT NULL,
  `romtype` int DEFAULT NULL,
  `romtypemedia` varchar(100) DEFAULT NULL,
  `medialabel` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`,`gameid`) USING BTREE,
  KEY `gameid_idx` (`gameid`),
  KEY `md5_idx` (`md5`) USING BTREE,
  KEY `sha1_idx` (`sha1`) USING BTREE,
  KEY `flags_idx` ((cast(`flags` as char(255) array))),
  CONSTRAINT `gameid` FOREIGN KEY (`gameid`) REFERENCES `signatures_games` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


--
-- Table structure for table `signatures_sources`
--

DROP TABLE IF EXISTS `signatures_sources`;

/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `signatures_sources` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `description` varchar(255) DEFAULT NULL,
  `category` varchar(45) DEFAULT NULL,
  `version` varchar(45) DEFAULT NULL,
  `author` varchar(255) DEFAULT NULL,
  `email` varchar(45) DEFAULT NULL,
  `homepage` varchar(45) DEFAULT NULL,
  `url` varchar(45) DEFAULT NULL,
  `sourcetype` varchar(45) DEFAULT NULL,
  `sourcemd5` varchar(45) DEFAULT NULL,
  `sourcesha1` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  KEY `sourcemd5_idx` (`sourcemd5`,`id`) USING BTREE,
  KEY `sourcesha1_idx` (`sourcesha1`,`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Final view structure for view `view_signatures_games`
--

DROP VIEW IF EXISTS `view_signatures_games`;
CREATE VIEW `view_signatures_games` AS
    SELECT 
        `signatures_games`.`id` AS `id`,
        `signatures_games`.`name` AS `name`,
        `signatures_games`.`description` AS `description`,
        `signatures_games`.`year` AS `year`,
        `signatures_games`.`publisherid` AS `publisherid`,
        `signatures_publishers`.`publisher` AS `publisher`,
        `signatures_games`.`demo` AS `demo`,
        `signatures_games`.`systemid` AS `platformid`,
        `signatures_platforms`.`platform` AS `platform`,
        `signatures_games`.`systemvariant` AS `systemvariant`,
        `signatures_games`.`video` AS `video`,
        `signatures_games`.`country` AS `country`,
        `signatures_games`.`language` AS `language`,
        `signatures_games`.`copyright` AS `copyright`
    FROM
        ((`signatures_games`
        JOIN `signatures_publishers` ON ((`signatures_games`.`publisherid` = `signatures_publishers`.`id`)))
        JOIN `signatures_platforms` ON ((`signatures_games`.`systemid` = `signatures_platforms`.`id`)));