Просмотр исходного кода

add scripts/funwar_initdb.sh

Add the shell script funwar_initdb.sh for initializing an example
postgres database for the funwar.tcl script.

Signed-off-by: hwipl <33433250+hwipl@users.noreply.github.com>
hwipl 6 лет назад
Родитель
Сommit
1843579dd4
1 измененных файлов с 53 добавлено и 0 удалено
  1. 53 0
      scripts/funwar_initdb.sh

+ 53 - 0
scripts/funwar_initdb.sh

@@ -0,0 +1,53 @@
+#!/bin/bash
+set -e
+
+# set eggdrop user name and password
+USER="eggdrop"
+PASSWORD="eggdropPassword"
+
+# set database schema and table name
+SCHEMA="test"
+TABLE="funmatch"
+
+# add eggdrop user
+psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \
+<<-EOSQL
+CREATE SCHEMA ${SCHEMA};
+CREATE USER ${USER} PASSWORD '${PASSWORD}';
+EOSQL
+
+# create a new table for the eggdrop user
+psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \
+<<-EOSQL
+CREATE TABLE ${SCHEMA}.${TABLE}(
+   id SERIAL PRIMARY KEY,
+   date DATE NOT NULL DEFAULT CURRENT_DATE,
+   time TIME NOT NULL,
+   xonx INTEGER NOT NULL,
+   clantag VARCHAR (16) NOT NULL,
+   irc VARCHAR (16) NOT NULL,
+   www VARCHAR (256) NOT NULL,
+   server VARCHAR (256) NOT NULL,
+   org VARCHAR (128) NOT NULL
+);
+EOSQL
+
+# insert some testing data into new table
+psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \
+<<-EOSQL
+INSERT INTO ${SCHEMA}.${TABLE} (time, xonx, clantag, irc, www, server, org)
+VALUES
+('18:30', 8, '[WIN]', '#win', 'www.winclan.com', 'et.winclan.com:1337',
+'winrar'),
+('19:30', 16, '[FAIL]', '#fail', 'www.failclan.com', 'et.failclan.com:7331',
+'failbot'),
+('20:30', 32, '<unknown>', '#unknown', 'www.unknownclan.com',
+'et.unknownclan.com:3000', 'incognito');
+EOSQL
+
+# make sure the eggdrop user can access the new table
+psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \
+<<-EOSQL
+GRANT ALL ON SCHEMA ${SCHEMA} TO ${USER};
+GRANT ALL ON ALL TABLES IN SCHEMA ${SCHEMA} TO ${USER};
+EOSQL