Added a "name" field to the mailing list entries.
[cocanwiki.git] / cocanwiki.sql
index ca322a8..859eb4b 100644 (file)
@@ -54,7 +54,7 @@ GRANT ALL ON TABLE pages TO "www-data";
 SET SESSION AUTHORIZATION 'rich';
 
 --
--- TOC entry 34 (OID 536004)
+-- TOC entry 38 (OID 536004)
 -- Name: pages_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -91,7 +91,7 @@ GRANT ALL ON TABLE contents TO "www-data";
 SET SESSION AUTHORIZATION 'rich';
 
 --
--- TOC entry 35 (OID 536021)
+-- TOC entry 39 (OID 536021)
 -- Name: contents_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -113,7 +113,8 @@ CREATE TABLE hosts (
     edit_anon boolean DEFAULT true NOT NULL,
     create_account_anon boolean DEFAULT true NOT NULL,
     theme_css text,
-    feedback_email text
+    feedback_email text,
+    mailing_list boolean DEFAULT false NOT NULL
 );
 
 
@@ -129,7 +130,7 @@ GRANT ALL ON TABLE hosts TO "www-data";
 SET SESSION AUTHORIZATION 'rich';
 
 --
--- TOC entry 36 (OID 536371)
+-- TOC entry 40 (OID 536371)
 -- Name: hosts_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -222,7 +223,7 @@ GRANT ALL ON TABLE images TO "www-data";
 SET SESSION AUTHORIZATION 'rich';
 
 --
--- TOC entry 37 (OID 537151)
+-- TOC entry 41 (OID 537151)
 -- Name: images_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -261,7 +262,7 @@ GRANT ALL ON TABLE files TO "www-data";
 SET SESSION AUTHORIZATION 'rich';
 
 --
--- TOC entry 38 (OID 537166)
+-- TOC entry 42 (OID 537166)
 -- Name: files_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -303,7 +304,7 @@ GRANT ALL ON TABLE users TO "www-data";
 SET SESSION AUTHORIZATION 'rich';
 
 --
--- TOC entry 39 (OID 540816)
+-- TOC entry 43 (OID 540816)
 -- Name: users_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -384,7 +385,7 @@ GRANT ALL ON TABLE contacts TO "www-data";
 SET SESSION AUTHORIZATION 'rich';
 
 --
--- TOC entry 40 (OID 542605)
+-- TOC entry 44 (OID 542605)
 -- Name: contacts_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -462,7 +463,60 @@ GRANT SELECT ON TABLE server_settings TO "www-data";
 SET SESSION AUTHORIZATION 'rich';
 
 --
--- TOC entry 45 (OID 536388)
+-- TOC entry 34 (OID 543754)
+-- Name: page_emails; Type: TABLE; Schema: public; Owner: rich
+--
+
+CREATE TABLE page_emails (
+    hostid integer NOT NULL,
+    url text NOT NULL,
+    email text NOT NULL,
+    entry_date date DEFAULT ('now'::text)::date NOT NULL,
+    last_sent date DEFAULT ('now'::text)::date NOT NULL,
+    pending text,
+    opt_out text NOT NULL
+);
+
+
+--
+-- TOC entry 35 (OID 543754)
+-- Name: page_emails; Type: ACL; Schema: public; Owner: rich
+--
+
+REVOKE ALL ON TABLE page_emails FROM PUBLIC;
+GRANT ALL ON TABLE page_emails TO "www-data";
+
+
+SET SESSION AUTHORIZATION 'rich';
+
+--
+-- TOC entry 36 (OID 543785)
+-- Name: mailing_lists; Type: TABLE; Schema: public; Owner: rich
+--
+
+CREATE TABLE mailing_lists (
+    hostid integer NOT NULL,
+    email text NOT NULL,
+    entry_date date DEFAULT ('now'::text)::date NOT NULL,
+    pending text,
+    opt_out text NOT NULL,
+    name text NOT NULL
+);
+
+
+--
+-- TOC entry 37 (OID 543785)
+-- Name: mailing_lists; Type: ACL; Schema: public; Owner: rich
+--
+
+REVOKE ALL ON TABLE mailing_lists FROM PUBLIC;
+GRANT ALL ON TABLE mailing_lists TO "www-data";
+
+
+SET SESSION AUTHORIZATION 'rich';
+
+--
+-- TOC entry 49 (OID 536388)
 -- Name: hostnames_hostid_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -470,7 +524,7 @@ CREATE UNIQUE INDEX hostnames_hostid_name_uq ON hostnames USING btree (hostid, n
 
 
 --
--- TOC entry 46 (OID 536389)
+-- TOC entry 50 (OID 536389)
 -- Name: hostnams_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -478,7 +532,7 @@ CREATE UNIQUE INDEX hostnams_name_uq ON hostnames USING btree (name);
 
 
 --
--- TOC entry 42 (OID 536419)
+-- TOC entry 46 (OID 536419)
 -- Name: pages_url_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -486,7 +540,7 @@ CREATE UNIQUE INDEX pages_url_uq ON pages USING btree (hostid, url);
 
 
 --
--- TOC entry 47 (OID 536924)
+-- TOC entry 51 (OID 536924)
 -- Name: email_notify_email_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -494,7 +548,7 @@ CREATE UNIQUE INDEX email_notify_email_uq ON email_notify USING btree (hostid, e
 
 
 --
--- TOC entry 48 (OID 540251)
+-- TOC entry 52 (OID 540251)
 -- Name: images_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -502,7 +556,7 @@ CREATE UNIQUE INDEX images_name_uq ON images USING btree (hostid, name);
 
 
 --
--- TOC entry 50 (OID 540252)
+-- TOC entry 54 (OID 540252)
 -- Name: files_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -510,7 +564,7 @@ CREATE UNIQUE INDEX files_name_uq ON files USING btree (hostid, name);
 
 
 --
--- TOC entry 53 (OID 540831)
+-- TOC entry 57 (OID 540831)
 -- Name: users_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -518,7 +572,7 @@ CREATE UNIQUE INDEX users_name_uq ON users USING btree (hostid, name);
 
 
 --
--- TOC entry 52 (OID 540946)
+-- TOC entry 56 (OID 540946)
 -- Name: users_id_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -526,7 +580,7 @@ CREATE UNIQUE INDEX users_id_uq ON users USING btree (hostid, id);
 
 
 --
--- TOC entry 55 (OID 540970)
+-- TOC entry 59 (OID 540970)
 -- Name: sitemenu_ordering_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -534,7 +588,7 @@ CREATE UNIQUE INDEX sitemenu_ordering_uq ON sitemenu USING btree (hostid, orderi
 
 
 --
--- TOC entry 56 (OID 540971)
+-- TOC entry 60 (OID 540971)
 -- Name: sitemenu_url_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -542,7 +596,7 @@ CREATE UNIQUE INDEX sitemenu_url_uq ON sitemenu USING btree (hostid, url);
 
 
 --
--- TOC entry 58 (OID 542626)
+-- TOC entry 62 (OID 542626)
 -- Name: contact_emails_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -550,7 +604,7 @@ CREATE UNIQUE INDEX contact_emails_uq ON contact_emails USING btree (contactid,
 
 
 --
--- TOC entry 59 (OID 543505)
+-- TOC entry 63 (OID 543505)
 -- Name: themes_theme_css_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -558,7 +612,23 @@ CREATE UNIQUE INDEX themes_theme_css_uq ON themes USING btree (theme_css);
 
 
 --
--- TOC entry 41 (OID 536012)
+-- TOC entry 64 (OID 543763)
+-- Name: page_emails_email_uq; Type: INDEX; Schema: public; Owner: rich
+--
+
+CREATE UNIQUE INDEX page_emails_email_uq ON page_emails USING btree (hostid, url, email);
+
+
+--
+-- TOC entry 65 (OID 543795)
+-- Name: mailing_lists_email_uq; Type: INDEX; Schema: public; Owner: rich
+--
+
+CREATE UNIQUE INDEX mailing_lists_email_uq ON mailing_lists USING btree (hostid, email);
+
+
+--
+-- TOC entry 45 (OID 536012)
 -- Name: pages_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -567,7 +637,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 43 (OID 536027)
+-- TOC entry 47 (OID 536027)
 -- Name: contents_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -576,7 +646,7 @@ ALTER TABLE ONLY contents
 
 
 --
--- TOC entry 44 (OID 536377)
+-- TOC entry 48 (OID 536377)
 -- Name: hosts_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -585,7 +655,7 @@ ALTER TABLE ONLY hosts
 
 
 --
--- TOC entry 49 (OID 537158)
+-- TOC entry 53 (OID 537158)
 -- Name: images_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -594,7 +664,7 @@ ALTER TABLE ONLY images
 
 
 --
--- TOC entry 51 (OID 537173)
+-- TOC entry 55 (OID 537173)
 -- Name: files_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -603,7 +673,7 @@ ALTER TABLE ONLY files
 
 
 --
--- TOC entry 54 (OID 540825)
+-- TOC entry 58 (OID 540825)
 -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -612,7 +682,7 @@ ALTER TABLE ONLY users
 
 
 --
--- TOC entry 57 (OID 542611)
+-- TOC entry 61 (OID 542611)
 -- Name: contacts_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -621,7 +691,7 @@ ALTER TABLE ONLY contacts
 
 
 --
--- TOC entry 64 (OID 536029)
+-- TOC entry 70 (OID 536029)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -630,7 +700,7 @@ ALTER TABLE ONLY contents
 
 
 --
--- TOC entry 67 (OID 536384)
+-- TOC entry 73 (OID 536384)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -639,7 +709,7 @@ ALTER TABLE ONLY hostnames
 
 
 --
--- TOC entry 65 (OID 536394)
+-- TOC entry 71 (OID 536394)
 -- Name: hosts_hostname_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -648,7 +718,7 @@ ALTER TABLE ONLY hosts
 
 
 --
--- TOC entry 60 (OID 536404)
+-- TOC entry 66 (OID 536404)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -657,7 +727,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 68 (OID 536920)
+-- TOC entry 74 (OID 536920)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -666,7 +736,7 @@ ALTER TABLE ONLY email_notify
 
 
 --
--- TOC entry 69 (OID 537160)
+-- TOC entry 75 (OID 537160)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -675,7 +745,7 @@ ALTER TABLE ONLY images
 
 
 --
--- TOC entry 70 (OID 537175)
+-- TOC entry 76 (OID 537175)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -684,7 +754,7 @@ ALTER TABLE ONLY files
 
 
 --
--- TOC entry 61 (OID 539155)
+-- TOC entry 67 (OID 539155)
 -- Name: pages_redirect_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -693,7 +763,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 71 (OID 540827)
+-- TOC entry 77 (OID 540827)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -702,7 +772,7 @@ ALTER TABLE ONLY users
 
 
 --
--- TOC entry 72 (OID 540837)
+-- TOC entry 78 (OID 540837)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -711,7 +781,7 @@ ALTER TABLE ONLY usercookies
 
 
 --
--- TOC entry 62 (OID 540942)
+-- TOC entry 68 (OID 540942)
 -- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -720,7 +790,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 63 (OID 540947)
+-- TOC entry 69 (OID 540947)
 -- Name: pages_user_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -729,7 +799,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 73 (OID 540966)
+-- TOC entry 79 (OID 540966)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -738,7 +808,7 @@ ALTER TABLE ONLY sitemenu
 
 
 --
--- TOC entry 74 (OID 540972)
+-- TOC entry 80 (OID 540972)
 -- Name: sitemenu_url_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -747,7 +817,7 @@ ALTER TABLE ONLY sitemenu
 
 
 --
--- TOC entry 75 (OID 542613)
+-- TOC entry 81 (OID 542613)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -756,7 +826,7 @@ ALTER TABLE ONLY contacts
 
 
 --
--- TOC entry 76 (OID 542622)
+-- TOC entry 82 (OID 542622)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -765,7 +835,7 @@ ALTER TABLE ONLY contact_emails
 
 
 --
--- TOC entry 66 (OID 543506)
+-- TOC entry 72 (OID 543506)
 -- Name: hosts_theme_css_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -773,6 +843,33 @@ ALTER TABLE ONLY hosts
     ADD CONSTRAINT hosts_theme_css_cn FOREIGN KEY (theme_css) REFERENCES themes(theme_css);
 
 
+--
+-- TOC entry 83 (OID 543759)
+-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
+--
+
+ALTER TABLE ONLY page_emails
+    ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
+
+
+--
+-- TOC entry 84 (OID 543764)
+-- Name: page_emails_url_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
+--
+
+ALTER TABLE ONLY page_emails
+    ADD CONSTRAINT page_emails_url_cn FOREIGN KEY (hostid, url) REFERENCES pages(hostid, url) DEFERRABLE;
+
+
+--
+-- TOC entry 85 (OID 543791)
+-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
+--
+
+ALTER TABLE ONLY mailing_lists
+    ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
+
+
 SET SESSION AUTHORIZATION 'postgres';
 
 --