| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530 |
- --
- -- PostgreSQL database dump
- --
- -- Dumped from database version 9.6.6
- -- Dumped by pg_dump version 9.6.6
- SET statement_timeout = 0;
- SET lock_timeout = 0;
- SET idle_in_transaction_session_timeout = 0;
- SET client_encoding = 'UTF8';
- SET standard_conforming_strings = on;
- SET check_function_bodies = false;
- SET client_min_messages = warning;
- SET row_security = off;
- --
- -- Name: plpgsql; Type: EXTENSION; Schema: -; Owner:
- --
- CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
- --
- -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner:
- --
- COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
- SET search_path = public, pg_catalog;
- SET default_tablespace = '';
- SET default_with_oids = false;
- --
- -- Name: channels; Type: TABLE; Schema: public; Owner: pyRot
- --
- CREATE TABLE channels (
- id integer NOT NULL,
- name character varying(64) NOT NULL,
- network character varying(40) NOT NULL,
- autojoin boolean,
- join_greeting boolean,
- statistics_commands boolean,
- games boolean,
- aggressiveness character varying(20) DEFAULT 'defense_only'::character varying,
- chat boolean,
- key character varying(32),
- last_lame timestamp without time zone
- );
- ALTER TABLE channels OWNER TO "pyRot";
- --
- -- Name: channel_id_seq; Type: SEQUENCE; Schema: public; Owner: pyRot
- --
- CREATE SEQUENCE channel_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
- ALTER TABLE channel_id_seq OWNER TO "pyRot";
- --
- -- Name: channel_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pyRot
- --
- ALTER SEQUENCE channel_id_seq OWNED BY channels.id;
- --
- -- Name: joins; Type: TABLE; Schema: public; Owner: pyRot
- --
- CREATE TABLE joins (
- id integer NOT NULL,
- channel character varying(64) NOT NULL,
- channel_network character varying(40) NOT NULL,
- "user" character varying(31) NOT NULL,
- user_network character varying(40) NOT NULL,
- joins integer DEFAULT 0,
- stopgreet boolean
- );
- ALTER TABLE joins OWNER TO "pyRot";
- --
- -- Name: joins_id_seq; Type: SEQUENCE; Schema: public; Owner: pyRot
- --
- CREATE SEQUENCE joins_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
- ALTER TABLE joins_id_seq OWNER TO "pyRot";
- --
- -- Name: joins_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pyRot
- --
- ALTER SEQUENCE joins_id_seq OWNED BY joins.id;
- --
- -- Name: kicks; Type: TABLE; Schema: public; Owner: pyRot
- --
- CREATE TABLE kicks (
- id integer NOT NULL,
- channel character varying(64) NOT NULL,
- channel_network character varying(40) NOT NULL,
- "user" character varying(31) NOT NULL,
- user_network character varying(40) NOT NULL,
- given integer DEFAULT 0,
- received integer DEFAULT 0
- );
- ALTER TABLE kicks OWNER TO "pyRot";
- --
- -- Name: kicks_id_seq; Type: SEQUENCE; Schema: public; Owner: pyRot
- --
- CREATE SEQUENCE kicks_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
- ALTER TABLE kicks_id_seq OWNER TO "pyRot";
- --
- -- Name: kicks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pyRot
- --
- ALTER SEQUENCE kicks_id_seq OWNED BY kicks.id;
- --
- -- Name: messages; Type: TABLE; Schema: public; Owner: pyRot
- --
- CREATE TABLE messages (
- id integer NOT NULL,
- channel character varying(64) NOT NULL,
- channel_network character varying(40) NOT NULL,
- "user" character varying(31) NOT NULL,
- user_network character varying(40) NOT NULL,
- messages integer DEFAULT 0,
- messages_words bigint DEFAULT 0,
- messages_characters bigint DEFAULT 0,
- actions integer DEFAULT 0,
- actions_words bigint DEFAULT 0,
- actions_characters bigint DEFAULT 0,
- notices integer DEFAULT 0,
- notices_words bigint DEFAULT 0,
- notices_characters bigint DEFAULT 0
- );
- ALTER TABLE messages OWNER TO "pyRot";
- --
- -- Name: messages_id_seq; Type: SEQUENCE; Schema: public; Owner: pyRot
- --
- CREATE SEQUENCE messages_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
- ALTER TABLE messages_id_seq OWNER TO "pyRot";
- --
- -- Name: messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pyRot
- --
- ALTER SEQUENCE messages_id_seq OWNED BY messages.id;
- --
- -- Name: networks; Type: TABLE; Schema: public; Owner: pyRot
- --
- CREATE TABLE networks (
- id integer NOT NULL,
- name character varying(40) NOT NULL,
- host character varying(60) NOT NULL,
- port integer DEFAULT 6667,
- use_ssl boolean,
- nickname character varying(31) DEFAULT 'RotBot'::character varying,
- username character varying(31) DEFAULT 'pyRot'::character varying,
- password character varying(31),
- home_channel character varying(64) DEFAULT '#RotBot'::character varying NOT NULL,
- command_character character(1) DEFAULT '!'::bpchar,
- help_character character(1) DEFAULT '@'::bpchar
- );
- ALTER TABLE networks OWNER TO "pyRot";
- --
- -- Name: networks_id_seq; Type: SEQUENCE; Schema: public; Owner: pyRot
- --
- CREATE SEQUENCE networks_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
- ALTER TABLE networks_id_seq OWNER TO "pyRot";
- --
- -- Name: networks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pyRot
- --
- ALTER SEQUENCE networks_id_seq OWNED BY networks.id;
- --
- -- Name: users; Type: TABLE; Schema: public; Owner: pyRot
- --
- CREATE TABLE users (
- id integer NOT NULL,
- name character varying(31) NOT NULL,
- network character varying(40) NOT NULL,
- last_act_type character varying(20),
- last_act_datetime timestamp without time zone,
- last_act_channel character varying(64),
- last_act_channel_network character varying(40),
- last_act character varying(510),
- last_act_auxiliary character varying(255),
- away boolean,
- away_reason character varying(510),
- xp_spent integer DEFAULT 0,
- level integer DEFAULT 0,
- coin numeric DEFAULT 10
- );
- ALTER TABLE users OWNER TO "pyRot";
- --
- -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: pyRot
- --
- CREATE SEQUENCE users_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
- ALTER TABLE users_id_seq OWNER TO "pyRot";
- --
- -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pyRot
- --
- ALTER SEQUENCE users_id_seq OWNED BY users.id;
- --
- -- Name: channels id; Type: DEFAULT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY channels ALTER COLUMN id SET DEFAULT nextval('channel_id_seq'::regclass);
- --
- -- Name: joins id; Type: DEFAULT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY joins ALTER COLUMN id SET DEFAULT nextval('joins_id_seq'::regclass);
- --
- -- Name: kicks id; Type: DEFAULT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY kicks ALTER COLUMN id SET DEFAULT nextval('kicks_id_seq'::regclass);
- --
- -- Name: messages id; Type: DEFAULT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY messages ALTER COLUMN id SET DEFAULT nextval('messages_id_seq'::regclass);
- --
- -- Name: networks id; Type: DEFAULT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY networks ALTER COLUMN id SET DEFAULT nextval('networks_id_seq'::regclass);
- --
- -- Name: users id; Type: DEFAULT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass);
- --
- -- Name: channels channel_pkey; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY channels
- ADD CONSTRAINT channel_pkey PRIMARY KEY (id);
- --
- -- Name: channels channels_name_network_key; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY channels
- ADD CONSTRAINT channels_name_network_key UNIQUE (name, network);
- --
- -- Name: joins joins_channel_channel_network_user_user_network_key; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY joins
- ADD CONSTRAINT joins_channel_channel_network_user_user_network_key UNIQUE (channel, channel_network, "user", user_network);
- --
- -- Name: joins joins_pkey; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY joins
- ADD CONSTRAINT joins_pkey PRIMARY KEY (id);
- --
- -- Name: kicks kicks_channel_channel_network_user_user_network_key; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY kicks
- ADD CONSTRAINT kicks_channel_channel_network_user_user_network_key UNIQUE (channel, channel_network, "user", user_network);
- --
- -- Name: kicks kicks_pkey; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY kicks
- ADD CONSTRAINT kicks_pkey PRIMARY KEY (id);
- --
- -- Name: messages messages_channel_channel_network_user_user_network_key; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY messages
- ADD CONSTRAINT messages_channel_channel_network_user_user_network_key UNIQUE (channel, channel_network, "user", user_network);
- --
- -- Name: messages messages_pkey; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY messages
- ADD CONSTRAINT messages_pkey PRIMARY KEY (id);
- --
- -- Name: networks networks_host_key; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY networks
- ADD CONSTRAINT networks_host_key UNIQUE (host);
- --
- -- Name: networks networks_name_key; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY networks
- ADD CONSTRAINT networks_name_key UNIQUE (name);
- --
- -- Name: networks networks_pkey; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY networks
- ADD CONSTRAINT networks_pkey PRIMARY KEY (id);
- --
- -- Name: users users_name_network_key; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY users
- ADD CONSTRAINT users_name_network_key UNIQUE (name, network);
- --
- -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY users
- ADD CONSTRAINT users_pkey PRIMARY KEY (id);
- --
- -- Name: channels channels_network_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY channels
- ADD CONSTRAINT channels_network_fkey FOREIGN KEY (network) REFERENCES networks(name) ON UPDATE CASCADE ON DELETE CASCADE;
- --
- -- Name: joins joins_channel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY joins
- ADD CONSTRAINT joins_channel_fkey FOREIGN KEY (channel, channel_network) REFERENCES channels(name, network) ON UPDATE CASCADE ON DELETE CASCADE;
- --
- -- Name: joins joins_user_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY joins
- ADD CONSTRAINT joins_user_fkey FOREIGN KEY ("user", user_network) REFERENCES users(name, network) ON UPDATE CASCADE ON DELETE CASCADE;
- --
- -- Name: kicks kicks_channel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY kicks
- ADD CONSTRAINT kicks_channel_fkey FOREIGN KEY (channel, channel_network) REFERENCES channels(name, network) ON UPDATE CASCADE ON DELETE CASCADE;
- --
- -- Name: kicks kicks_user_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY kicks
- ADD CONSTRAINT kicks_user_fkey FOREIGN KEY ("user", user_network) REFERENCES users(name, network) ON UPDATE CASCADE ON DELETE CASCADE;
- --
- -- Name: messages messages_channel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY messages
- ADD CONSTRAINT messages_channel_fkey FOREIGN KEY (channel, channel_network) REFERENCES channels(name, network) ON UPDATE CASCADE ON DELETE CASCADE;
- --
- -- Name: messages messages_user_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY messages
- ADD CONSTRAINT messages_user_fkey FOREIGN KEY ("user", user_network) REFERENCES users(name, network) ON UPDATE CASCADE ON DELETE CASCADE;
- --
- -- Name: users users_last_act_channel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY users
- ADD CONSTRAINT users_last_act_channel_fkey FOREIGN KEY (last_act_channel, last_act_channel_network) REFERENCES channels(name, network) ON UPDATE CASCADE ON DELETE CASCADE;
- --
- -- Name: users users_network_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pyRot
- --
- ALTER TABLE ONLY users
- ADD CONSTRAINT users_network_fkey FOREIGN KEY (network) REFERENCES networks(name) ON UPDATE CASCADE ON DELETE CASCADE;
- -- new stuff
- CREATE RULE update_username AS ON UPDATE TO users WHERE OLD.name <> NEW.name DO INSTEAD (
- INSERT INTO users (name, network, last_act_type, last_act_datetime, last_act_channel, last_act_channel_network, last_act, last_act_auxiliary, away, away_reason, xp_spent, level, coin) VALUES (NEW.name, NEW.network, NEW.last_act_type, NEW.last_act_datetime, NEW.last_act_channel, NEW.last_act_channel_network, NEW.last_act, NEW.last_act_auxiliary, NEW.away, NEW.away_reason, NEW.xp_spent, NEW.level, NEW.coin);
- UPDATE joins SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
- UPDATE kicks SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
- UPDATE messages SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
- DELETE FROM users WHERE name=OLD.name AND network=OLD.network;
- );
-
- CREATE RULE update_channel_name AS ON UPDATE TO channels WHERE OLD.name <> NEW.name DO INSTEAD (
- INSERT INTO channels (name, network, autojoin, join_greeting, statistics_commands, games, aggressiveness, chat, key, last_lame) VALUES (NEW.name, NEW.network, NEW.autojoin, NEW.join_greeting, NEW.statistics_commands, NEW.games, NEW.aggressiveness, NEW.chat, NEW.key, NEW.last_lame);
- UPDATE joins SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
- UPDATE kicks SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
- UPDATE messages SET "user"=NEW.name WHERE "user"=OLD.name AND user_network=OLD.network;
- UPDATE users SET last_act_channel=NEW.name WHERE last_act_channel=OLD.name AND network=OLD.network;
- DELETE FROM channels WHERE name=OLD.name AND network=OLD.network;
- );
- --
- -- PostgreSQL database dump complete
- --
|