Skip to content

Commit

Permalink
add createStatTable function to the tableUtils
Browse files Browse the repository at this point in the history
  • Loading branch information
Lantos György committed Apr 27, 2020

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 7df972c commit 392e274
Showing 2 changed files with 41 additions and 6 deletions.
9 changes: 7 additions & 2 deletions src/dbService/migrations/20200424082050_initial.js
Original file line number Diff line number Diff line change
@@ -5,7 +5,8 @@ const {
addTimeColumns,
addHashColumn,
createNameTable,
createReference
createReference,
createStatTable,
} = require('../utils/tableUtils');

/**
@@ -29,7 +30,11 @@ exports.up = async (knex) => {
table.datetime('game_date');
addHashColumn(table);
});

await knex.schema.createTable(tableNames.weekly_home_stat, table => {
table.increments().notNullable()
});
await createStatTable(knex, tableNames.weekly_home_stat);
await createStatTable(knex, tableNames.weekly_away_stat);
};

exports.down = async (knex) => {
38 changes: 34 additions & 4 deletions src/dbService/utils/tableUtils.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
const tableNames = require('../constants/tableNames');

const addTimeColumns = table => {
table.timestamps(false, true);
table.datetime('deleted_at');
@@ -13,10 +15,37 @@ const addHashColumn = table => {
table.string('hash').notNullable().unique();
};

const addStatColumns = table => {
table.boolean('stat_available');
// TODO FINISH THIS
};
const createStatTable = (knex, tableName) => knex.schema.createTable(tableName, table => {
table.increments().notNullable();
table.boolean('stat_available');
createReference(table, tableNames.team);
table.decimal('goals_scored_per_match');
table.decimal('clean_sheets');
table.decimal('won_to_nil');
table.decimal('scoring_rate');
table.decimal('scored_in_both_halves');
table.decimal('team_scored_first');
table.decimal('leading_at_half_time');
table.decimal('goals_scored_per_match');
table.decimal('goals_conceded_per_match');
table.decimal('failed_to_score');
table.decimal('lost_to_nil');
table.decimal('conceding_rate');
table.decimal('conceded_in_both_halves');
table.decimal('opponent_scored_first');
table.decimal('loosing_at_half_time');
table.decimal('scored_conc_per_match');
table.decimal('matches_over_1_5_goals');
table.decimal('matches_over_2_5_goals');
table.decimal('matches_over_3_5_goals');
table.decimal('matches_over_4_5_goals');
table.decimal('matches_over_5_5_goals');
table.decimal('both_team_scored');
table.decimal('over_0_5_g_at_half_time');
table.decimal('over_1_5_g_at_half_time');
table.decimal('over_2_5_g_at_half_time');
addTimeColumns(table);
});

const createReference = (table, tableName, columnName = '') => table
.integer(`${columnName || tableName}_id`)
@@ -31,4 +60,5 @@ module.exports = {
addHashColumn,
createNameTable,
createReference,
createStatTable,
};

0 comments on commit 392e274

Please sign in to comment.