-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfunwar_initdb.sh
More file actions
executable file
·53 lines (47 loc) · 1.5 KB
/
Copy pathfunwar_initdb.sh
File metadata and controls
executable file
·53 lines (47 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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