Emmanuel BENOîT
56eddcc4f0
* Added a set of tables which define game updates and their targets. These definitions replace the old enumerate type. Added a set of triggers which automatically create specific update tables, insert missing entries, etc... when game update types are being manipulated. * Removed manual insertion of game updates from empire creation function and universe generator. * Added registration of core update targets (i.e. planets and empires), updated all existing game update processing functions and added type registrations * Created Maven project for game updates control components, moved existing components from the -simple project, rewritten most of what they contained, added new components for server-side update batch processing
51 lines
1.4 KiB
PL/PgSQL
51 lines
1.4 KiB
PL/PgSQL
-- LegacyWorlds Beta 6
|
|
-- PostgreSQL database scripts
|
|
--
|
|
-- Main database loader script
|
|
--
|
|
-- Initialises the various roles and the database itself,
|
|
-- then processes scripts from the "parts" directory.
|
|
--
|
|
-- Copyright(C) 2004-2012, DeepClone Development
|
|
-- --------------------------------------------------------
|
|
|
|
-- Read configuration from file
|
|
\set pgadmin `grep ^admin= db-config.txt | sed -e s/.*=//`
|
|
\set dbname `grep ^db= db-config.txt | sed -e s/.*=//`
|
|
\set dbname_string '''':dbname''''
|
|
\set dbuser `grep ^user= db-config.txt | sed -e s/.*=//`
|
|
\set dbuser_string '''':dbuser''''
|
|
\set dbupass ''''`grep ^password= db-config.txt | sed -e s/.*=// -e "s/'/''/g"`''''
|
|
|
|
|
|
/* List all files in the "parts" directory and create a loader script from
|
|
* that.
|
|
*/
|
|
\! find parts -type f -name '*.sql' | sort | sed -e 's/^/\\i /' > loader.tmp
|
|
|
|
|
|
-- Connect to the main system database
|
|
\c postgres :pgadmin
|
|
|
|
-- Drop the database and users if they exist
|
|
DROP DATABASE IF EXISTS :dbname;
|
|
DROP ROLE IF EXISTS :dbuser;
|
|
|
|
-- Create the LW users
|
|
CREATE ROLE :dbuser WITH LOGIN ENCRYPTED PASSWORD :dbupass;
|
|
|
|
-- Create the database
|
|
CREATE DATABASE :dbname ENCODING='UTF8' TEMPLATE=template0;
|
|
GRANT CONNECT ON DATABASE :dbname TO :dbuser;
|
|
|
|
|
|
-- Connect to the LW database with the PostgreSQL admin user
|
|
\c :dbname :pgadmin
|
|
|
|
/* Load everything from the loader script */
|
|
BEGIN;
|
|
\i loader.tmp
|
|
COMMIT;
|
|
|
|
/* Delete loader script */
|
|
\! rm loader.tmp
|