59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
-- CreateTable
 | 
						|
CREATE TABLE "User" (
 | 
						|
    "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | 
						|
    "uuid" TEXT NOT NULL,
 | 
						|
    "email" TEXT NOT NULL,
 | 
						|
    "name" TEXT,
 | 
						|
    "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
 | 
						|
    "language" TEXT DEFAULT 'en'
 | 
						|
);
 | 
						|
 | 
						|
-- CreateTable
 | 
						|
CREATE TABLE "UserSession" (
 | 
						|
    "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | 
						|
    "uuid" TEXT NOT NULL,
 | 
						|
    "userId" INTEGER NOT NULL,
 | 
						|
    "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
 | 
						|
    "expiresAt" DATETIME NOT NULL,
 | 
						|
    CONSTRAINT "UserSession_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
 | 
						|
);
 | 
						|
 | 
						|
-- CreateTable
 | 
						|
CREATE TABLE "Game" (
 | 
						|
    "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | 
						|
    "uuid" TEXT NOT NULL,
 | 
						|
    "title" TEXT NOT NULL,
 | 
						|
    "system" TEXT NOT NULL,
 | 
						|
    "genre" TEXT,
 | 
						|
    "publisher" TEXT,
 | 
						|
    "developer" TEXT,
 | 
						|
    "description" TEXT
 | 
						|
);
 | 
						|
 | 
						|
-- CreateTable
 | 
						|
CREATE TABLE "GameSave" (
 | 
						|
    "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | 
						|
    "uuid" TEXT NOT NULL,
 | 
						|
    "data" BLOB NOT NULL,
 | 
						|
    "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
 | 
						|
    "gameId" INTEGER NOT NULL,
 | 
						|
    "userId" INTEGER NOT NULL,
 | 
						|
    CONSTRAINT "GameSave_gameId_fkey" FOREIGN KEY ("gameId") REFERENCES "Game" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
 | 
						|
    CONSTRAINT "GameSave_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
 | 
						|
);
 | 
						|
 | 
						|
-- CreateIndex
 | 
						|
CREATE UNIQUE INDEX "User_uuid_key" ON "User"("uuid");
 | 
						|
 | 
						|
-- CreateIndex
 | 
						|
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
 | 
						|
 | 
						|
-- CreateIndex
 | 
						|
CREATE UNIQUE INDEX "UserSession_uuid_key" ON "UserSession"("uuid");
 | 
						|
 | 
						|
-- CreateIndex
 | 
						|
CREATE UNIQUE INDEX "Game_uuid_key" ON "Game"("uuid");
 | 
						|
 | 
						|
-- CreateIndex
 | 
						|
CREATE UNIQUE INDEX "GameSave_uuid_key" ON "GameSave"("uuid");
 |