From 648a4b0797d9f3f40bc7de75e18f0da14e3bc10e Mon Sep 17 00:00:00 2001 From: Tau Date: Sun, 28 Apr 2019 20:52:30 -0400 Subject: [PATCH] Add initial core Aime schema --- schema/init/aime.sql | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 schema/init/aime.sql diff --git a/schema/init/aime.sql b/schema/init/aime.sql new file mode 100644 index 0000000..ea98ed6 --- /dev/null +++ b/schema/init/aime.sql @@ -0,0 +1,45 @@ +create schema "aime"; + +create type "aime"."region" as enum ( + 'JPN', + 'HKG', + 'SGP', + 'KOR', + 'USA' +); + +create table "aime"."shop" ( + "id" bigint primary key not null, + "ext_id" integer not null, + "name" text not null, + "region" "aime"."region" not null, + constraint "shop_uq" unique ("ext_id") +); + +create table "aime"."machine" ( + "id" bigint primary key not null, + "shop_id" bigint not null + references "aime"."shop"("id"), + "pcb_id" text not null, + "keychip_id" text not null, + constraint "machine_pcb_id_uq" unique ("pcb_id"), + constraint "machine_keychip_id_uq" unique ("keychip_id") +); + +create table "aime"."player" ( + "id" bigint primary key not null, + "ext_id" integer not null, + "register_time" timestamp not null, + constraint "player_uq" unique ("ext_id") +); + +create table "aime"."card" ( + "id" bigint primary key not null, + "player_id" bigint not null + references "aime"."player"("id") + on delete cascade, + "nfc_id" text not null, + "register_time" timestamp not null, + "access_time" timestamp not null, + constraint "card_uq" unique ("nfc_id") +);