This is a documentation for Board Game Arena: play board games online !

Game database model: dbmodel.sql: Difference between revisions

From Board Game Arena
Jump to navigation Jump to search
(Created page with "In this file you specify the database schema of your game. This file contains SQL queries that will be executed during the creation of your game table. Note: you can't chang...")
 
Line 27: Line 27:
* player_name: (note: you should better access this date with getActivePlayerName() or loadPlayersBasicInfos() methods)
* player_name: (note: you should better access this date with getActivePlayerName() or loadPlayersBasicInfos() methods)
* player_score: the current score of the player (displayed in the player panel). You must update this field to update player's scores.
* player_score: the current score of the player (displayed in the player panel). You must update this field to update player's scores.
* player_score_aux: the secondary score, used as a tie breaker. You must update this field according to tie breaking rules of the game.
* player_score_aux: the secondary score, used as a tie breaker. You must update this field according to tie breaking rules of the game (see also: [[Main_game_logic:_yourgamename.game.php#Manage_player_scores_and_Tie_breaker|Manage_player_scores_and_Tie_breaker]])

Revision as of 15:44, 30 January 2013

In this file you specify the database schema of your game.

This file contains SQL queries that will be executed during the creation of your game table.

Note: you can't change the database schema during the game.

Create your schema

To build this file, we recommend you to build the tables you need with the PhpMyAdmin tool (see BGA user guide), and then to export them and to copy/paste the content inside this file.

Default tables

Important: by default, BGA creates 4 tables for your game: global, stats, gamelog, and player.

You must not modify the schema of global, stats and gamelog tables (and you must not access them directly with SQL queries in your PHP code).

You may add columns to "player" table. This is very practical to add simple values associated with players.

Example:

ALTER TABLE `player` ADD `player_reserve_size` SMALLINT UNSIGNED NOT NULL DEFAULT '7';

For your information, the useful columns of default "player" table are:

  • player_no: the index of player in natural playing order.
  • player_id
  • player_name: (note: you should better access this date with getActivePlayerName() or loadPlayersBasicInfos() methods)
  • player_score: the current score of the player (displayed in the player panel). You must update this field to update player's scores.
  • player_score_aux: the secondary score, used as a tie breaker. You must update this field according to tie breaking rules of the game (see also: Manage_player_scores_and_Tie_breaker)