syxolk / euro2024

Euro 2024: Betting with your friends
https://www.wetten2024.de
52 stars 22 forks source link

Unhandled rejection SequelizeDatabaseError: relation "score_table" does not exist #14

Closed lsv closed 8 years ago

lsv commented 8 years ago

Trying to get this installed

Log - some lines removed

-> % npm install
....
-> % node tools/populate.js tools/euro2016.json
Executing (default): INSERT INTO "Team" ("id","name","code") VALUES (DEFAULT,'France','FRA'),(DEFAULT,'Romania','ROU'),(DEFAULT,'Albania','ALB'),(DEFAULT,'Switzerland','SUI'),(DEFAULT,'England','ENG'),(DEFAULT,'Russia','RUS'),(DEFAULT,'Wales','WAL'),(DEFAULT,'Slovakia','SVK'),(DEFAULT,'Germany','GER'),(DEFAULT,'Ukraine','UKR'),(DEFAULT,'Poland','POL'),(DEFAULT,'Northern Ireland','NIR'),(DEFAULT,'Spain','ESP'),(DEFAULT,'Czech Republic','CZE'),(DEFAULT,'Turkey','TUR'),(DEFAULT,'Croatia','CRO'),(DEFAULT,'Belgium','BEL'),(DEFAULT,'Italy','ITA'),(DEFAULT,'Republic of Ireland','IRL'),(DEFAULT,'Sweden','SWE'),(DEFAULT,'Portugal','POR'),(DEFAULT,'Iceland','ISL'),(DEFAULT,'Austria','AUT'),(DEFAULT,'Hungary','HUN');
Executing (default): INSERT INTO "MatchType" ("id","code","name") VALUES (DEFAULT,'A','Group A'),(DEFAULT,'B','Group B'),(DEFAULT,'C','Group C'),(DEFAULT,'D','Group D'),(DEFAULT,'E','Group E'),(DEFAULT,'F','Group F'),(DEFAULT,'R16','Round of 16'),(DEFAULT,'QF','Quarter-final'),(DEFAULT,'SF','Semi-final'),(DEFAULT,'F','Final');
Executing (default): SELECT "id", "name", "code" FROM "Team" AS "Team";
Executing (default): SELECT "id", "code", "name" FROM "MatchType" AS "MatchType";
Executing (default): INSERT INTO "Match" ("id","when","createdAt","updatedAt","HomeTeamId","AwayTeamId","MatchTypeId") VALUES (DEFAULT,'2016-06-10 19:00:00.000 +00:00','2016-06-07 05:42:41.233 +00:00','2016-06-07 05:42:41.233 +00:00',1,2,1) RETURNING *;
....
-> % node index.js
Executing (default): CREATE OR REPLACE FUNCTION calc_score(integer, integer, integer, integer) RETURNS integer AS
$$
....
CREATE OR REPLACE VIEW score_table
AS WITH bets AS (
SELECT b."UserId" as id,
sum(calc_score(m."goalsHome", m."goalsAway", b."goalsHome", b."goalsAway")) as score,
....

Unhandled rejection SequelizeDatabaseError: relation "score_table" does not exist
  at [object Object].Query.formatError (/home/lsv/Projects/euro2016/node_modules/sequelize/lib/dialects/postgres/query.js:357:14)
  at [object Object].<anonymous> (/home/lsv/Projects/euro2016/node_modules/sequelize/lib/dialects/postgres/query.js:88:19)
  at emitOne (events.js:90:13)
  at [object Object].emit (events.js:182:7)
  at [object Object].Query.handleError (/home/lsv/Projects/euro2016/node_modules/pg/lib/query.js:108:8)
  at [object Object].<anonymous> (/home/lsv/Projects/euro2016/node_modules/pg/lib/client.js:171:26)
  at emitOne (events.js:90:13)
  at [object Object].emit (events.js:182:7)
  at Socket.<anonymous> (/home/lsv/Projects/euro2016/node_modules/pg/lib/connection.js:109:12)
  at emitOne (events.js:90:13)
  at Socket.emit (events.js:182:7)
  at readableAddChunk (_stream_readable.js:153:18)
  at Socket.Readable.push (_stream_readable.js:111:10)
  at TCP.onread (net.js:534:20)
lsv commented 8 years ago

My guess its because of the CREATE table @ L13 at it uses FROM score_table which is not created it.

I'll put a PR up

mgrajcarek commented 8 years ago

Fix merged, issue can be closed. Btw, @syxolk great application! Thx for sharing it with the community :)

syxolk commented 8 years ago

I've never expected so many people to be interested :D