it* my version of playonbsd.com data Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/playonbsd-sdk.git URL:git://git.codevoid.de/playonbsd-sdk.git codevoid.de 70 1Log /git/playonbsd-sdk/log.gph codevoid.de 70 1Files /git/playonbsd-sdk/files.gph codevoid.de 70 1Refs /git/playonbsd-sdk/refs.gph codevoid.de 70 1README /git/playonbsd-sdk/file/README.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 61f9af1e89f97344c8b5654698b85d4cb631868f /git/playonbsd-sdk/commit/61f9af1e89f97344c8b5654698b85d4cb631868f.gph codevoid.de 70 1parent 58a23140ef8801ee93933802af7312c9d106d416 /git/playonbsd-sdk/commit/58a23140ef8801ee93933802af7312c9d106d416.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Mon, 11 May 2020 13:39:41 +0200 Err codevoid.de 70 i Err codevoid.de 70 ibring store<>game mapping table back Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M lib/PlayOnBSD.pm | 26 ++++++++++++++++---------- Err codevoid.de 70 i M playonbsd.sqlite | 0 Err codevoid.de 70 i M schema.sql | 22 ++++++++++++++++++---- Err codevoid.de 70 i Err codevoid.de 70 i3 files changed, 34 insertions(+), 14 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/lib/PlayOnBSD.pm b/lib/PlayOnBSD.pm /git/playonbsd-sdk/file/lib/PlayOnBSD.pm.gph codevoid.de 70 it@@ -36,19 +36,25 @@ get '/' => sub { Err codevoid.de 70 i my $db = connect_db(); Err codevoid.de 70 i Err codevoid.de 70 i my $sql = 'SELECT Err codevoid.de 70 i- game.id AS GameID, Err codevoid.de 70 i- game.name AS GameName, Err codevoid.de 70 i- game.imgsrc AS ImgSrc, Err codevoid.de 70 i- engine.name AS EngineName, Err codevoid.de 70 i- engine.name AS EngineID, Err codevoid.de 70 i- storelist.id AS StoreID, Err codevoid.de 70 i- game.comment AS GameComment, Err codevoid.de 70 i- game.createdat AS GameCreatedAt, Err codevoid.de 70 i- game.changedat AS GameChangedAt Err codevoid.de 70 i+ game.id AS GameID, Err codevoid.de 70 i+ game.name AS GameName, Err codevoid.de 70 i+ game.imgsrc AS GameImageSrc, Err codevoid.de 70 i+ engine.id AS EngineID, Err codevoid.de 70 i+ engine.name AS EngineName, Err codevoid.de 70 i+ engine.href AS EngineLinkSrc, Err codevoid.de 70 i+ store.name AS StoreName, Err codevoid.de 70 i+ store.href AS StoreLink, Err codevoid.de 70 i+ game.comment AS GameComment, Err codevoid.de 70 i+ game.createdat AS GameCreatedAt, Err codevoid.de 70 i+ game.changedat AS GameChangedAt Err codevoid.de 70 i FROM Err codevoid.de 70 i game Err codevoid.de 70 i INNER JOIN engine ON Err codevoid.de 70 i engine.id = game.engine_id Err codevoid.de 70 i+ INNER JOIN gamestore_map ON Err codevoid.de 70 i+ gamestore_map.game_id = game.id Err codevoid.de 70 i+ LEFT OUTER JOIN store ON Err codevoid.de 70 i+ gamestore_map.store_id = store.id Err codevoid.de 70 i ORDER BY game.id DESC'; Err codevoid.de 70 i Err codevoid.de 70 i my $sth = $db->prepare($sql) Err codevoid.de 70 it@@ -57,7 +63,7 @@ get '/' => sub { Err codevoid.de 70 i $sth->execute Err codevoid.de 70 i or die $sth->errstr; Err codevoid.de 70 i Err codevoid.de 70 i- my $res = $sth->fetchall_hashref('game_id'); Err codevoid.de 70 i+ my $res = $sth->fetchall_hashref('GameID'); Err codevoid.de 70 i Err codevoid.de 70 i print Dumper($res); Err codevoid.de 70 i Err codevoid.de 70 1diff --git a/playonbsd.sqlite b/playonbsd.sqlite /git/playonbsd-sdk/file/playonbsd.sqlite.gph codevoid.de 70 iBinary files differ. Err codevoid.de 70 1diff --git a/schema.sql b/schema.sql /git/playonbsd-sdk/file/schema.sql.gph codevoid.de 70 it@@ -1,14 +1,20 @@ Err codevoid.de 70 i+-- game list to be shown on the index Err codevoid.de 70 i+-- each game can have one engine (game 1:1 engine) Err codevoid.de 70 i+-- each game can have N storesources (game 1:N store) Err codevoid.de 70 i+-- but each store entry is specific to one game (store 1:1 game) Err codevoid.de 70 i+ Err codevoid.de 70 i+-- list of games Err codevoid.de 70 i create table if not exists game ( Err codevoid.de 70 i id integer primary key autoincrement, Err codevoid.de 70 i name string not null, Err codevoid.de 70 i imgsrc string, Err codevoid.de 70 i engine_id integer REFERENCES engine(id), Err codevoid.de 70 i- storelist_id integer REFERENCES storelist(game_id), Err codevoid.de 70 i comment string, Err codevoid.de 70 i createdat integer not null, Err codevoid.de 70 i changedat integer not null Err codevoid.de 70 i ); Err codevoid.de 70 i Err codevoid.de 70 i+-- list of engines Err codevoid.de 70 i create table if not exists engine ( Err codevoid.de 70 i id integer primary key autoincrement, Err codevoid.de 70 i name string not null, Err codevoid.de 70 it@@ -19,11 +25,19 @@ create table if not exists engine ( Err codevoid.de 70 i changedat integer not null Err codevoid.de 70 i ); Err codevoid.de 70 i Err codevoid.de 70 i-create table if not exists storelist ( Err codevoid.de 70 i- id integer primary key autoincrement, Err codevoid.de 70 i+-- mapping table to map game entries with store entries Err codevoid.de 70 i+create table if not exists gamestore_map ( Err codevoid.de 70 i game_id integer REFERENCES game(id), Err codevoid.de 70 i+ store_id integer REFERENCES store(id), Err codevoid.de 70 i+ createdat integer not null, Err codevoid.de 70 i+ changedat integer not null Err codevoid.de 70 i+); Err codevoid.de 70 i+ Err codevoid.de 70 i+-- store entries Err codevoid.de 70 i+create table if not exists store ( Err codevoid.de 70 i+ id integer primary key autoincrement, Err codevoid.de 70 i name string not null, Err codevoid.de 70 i- homepage string, Err codevoid.de 70 i+ href string, Err codevoid.de 70 i info string, Err codevoid.de 70 i createdat integer not null, Err codevoid.de 70 i changedat integer not null Err codevoid.de 70 .