X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/11af5c266d95cd1218509ed1070e180c1b928469..c4f3d1bd32315abdcf057cae586bbf76eb6263b9:/db/structure.sql

diff --git a/db/structure.sql b/db/structure.sql
index 0cd89a11d..5c4fdf8c7 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -3,6 +3,7 @@
 --
 
 SET statement_timeout = 0;
+SET lock_timeout = 0;
 SET client_encoding = 'UTF8';
 SET standard_conforming_strings = on;
 SET check_function_bodies = false;
@@ -38,6 +39,17 @@ COMMENT ON EXTENSION btree_gist IS 'support for indexing common datatypes in GiS
 
 SET search_path = public, pg_catalog;
 
+--
+-- Name: format_enum; Type: TYPE; Schema: public; Owner: -
+--
+
+CREATE TYPE format_enum AS ENUM (
+    'html',
+    'markdown',
+    'text'
+);
+
+
 --
 -- Name: gpx_visibility_enum; Type: TYPE; Schema: public; Owner: -
 --
@@ -114,7 +126,7 @@ CREATE TYPE user_status_enum AS ENUM (
 
 CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer
     LANGUAGE c STRICT
-    AS '/srv/www/openstreetbugs.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point';
+    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point';
 
 
 --
@@ -123,7 +135,7 @@ CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer
 
 CREATE FUNCTION tile_for_point(integer, integer) RETURNS bigint
     LANGUAGE c STRICT
-    AS '/srv/www/openstreetbugs.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point';
+    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point';
 
 
 --
@@ -132,7 +144,7 @@ CREATE FUNCTION tile_for_point(integer, integer) RETURNS bigint
 
 CREATE FUNCTION xid_to_int4(xid) RETURNS integer
     LANGUAGE c IMMUTABLE STRICT
-    AS '/srv/www/openstreetbugs.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4';
+    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4';
 
 
 SET default_tablespace = '';
@@ -238,7 +250,8 @@ CREATE TABLE client_applications (
     allow_write_diary boolean DEFAULT false NOT NULL,
     allow_write_api boolean DEFAULT false NOT NULL,
     allow_read_gpx boolean DEFAULT false NOT NULL,
-    allow_write_gpx boolean DEFAULT false NOT NULL
+    allow_write_gpx boolean DEFAULT false NOT NULL,
+    allow_write_notes boolean DEFAULT false NOT NULL
 );
 
 
@@ -261,39 +274,6 @@ CREATE SEQUENCE client_applications_id_seq
 ALTER SEQUENCE client_applications_id_seq OWNED BY client_applications.id;
 
 
---
--- Name: countries; Type: TABLE; Schema: public; Owner: -; Tablespace: 
---
-
-CREATE TABLE countries (
-    id integer NOT NULL,
-    code character varying(2) NOT NULL,
-    min_lat double precision NOT NULL,
-    max_lat double precision NOT NULL,
-    min_lon double precision NOT NULL,
-    max_lon double precision NOT NULL
-);
-
-
---
--- Name: countries_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE countries_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: countries_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
---
-
-ALTER SEQUENCE countries_id_seq OWNED BY countries.id;
-
-
 --
 -- Name: current_node_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
 --
@@ -461,7 +441,8 @@ CREATE TABLE diary_comments (
     body text NOT NULL,
     created_at timestamp without time zone NOT NULL,
     updated_at timestamp without time zone NOT NULL,
-    visible boolean DEFAULT true NOT NULL
+    visible boolean DEFAULT true NOT NULL,
+    body_format format_enum DEFAULT 'html'::format_enum NOT NULL
 );
 
 
@@ -498,7 +479,8 @@ CREATE TABLE diary_entries (
     latitude double precision,
     longitude double precision,
     language_code character varying(255) DEFAULT 'en'::character varying NOT NULL,
-    visible boolean DEFAULT true NOT NULL
+    visible boolean DEFAULT true NOT NULL,
+    body_format format_enum DEFAULT 'html'::format_enum NOT NULL
 );
 
 
@@ -658,7 +640,8 @@ CREATE TABLE messages (
     message_read boolean DEFAULT false NOT NULL,
     to_user_id bigint NOT NULL,
     to_user_visible boolean DEFAULT true NOT NULL,
-    from_user_visible boolean DEFAULT true NOT NULL
+    from_user_visible boolean DEFAULT true NOT NULL,
+    body_format format_enum DEFAULT 'html'::format_enum NOT NULL
 );
 
 
@@ -705,7 +688,8 @@ CREATE TABLE nodes (
     visible boolean NOT NULL,
     "timestamp" timestamp without time zone NOT NULL,
     tile bigint NOT NULL,
-    version bigint NOT NULL
+    version bigint NOT NULL,
+    redaction_id integer
 );
 
 
@@ -718,8 +702,7 @@ CREATE TABLE note_comments (
     note_id bigint NOT NULL,
     visible boolean NOT NULL,
     created_at timestamp without time zone NOT NULL,
-    author_name character varying(255),
-    author_ip character varying(255),
+    author_ip inet,
     author_id bigint,
     body text,
     event note_event_enum
@@ -756,7 +739,6 @@ CREATE TABLE notes (
     tile bigint NOT NULL,
     updated_at timestamp without time zone NOT NULL,
     created_at timestamp without time zone NOT NULL,
-    nearby_place character varying(255),
     status note_status_enum NOT NULL,
     closed_at timestamp without time zone
 );
@@ -837,7 +819,8 @@ CREATE TABLE oauth_tokens (
     callback_url character varying(255),
     verifier character varying(20),
     scope character varying(255),
-    valid_to timestamp without time zone
+    valid_to timestamp without time zone,
+    allow_write_notes boolean DEFAULT false NOT NULL
 );
 
 
@@ -860,6 +843,40 @@ CREATE SEQUENCE oauth_tokens_id_seq
 ALTER SEQUENCE oauth_tokens_id_seq OWNED BY oauth_tokens.id;
 
 
+--
+-- Name: redactions; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE redactions (
+    id integer NOT NULL,
+    title character varying(255),
+    description text,
+    created_at timestamp without time zone NOT NULL,
+    updated_at timestamp without time zone NOT NULL,
+    user_id bigint NOT NULL,
+    description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
+);
+
+
+--
+-- Name: redactions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE redactions_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: redactions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE redactions_id_seq OWNED BY redactions.id;
+
+
 --
 -- Name: relation_members; Type: TABLE; Schema: public; Owner: -; Tablespace: 
 --
@@ -895,7 +912,8 @@ CREATE TABLE relations (
     changeset_id bigint NOT NULL,
     "timestamp" timestamp without time zone NOT NULL,
     version bigint NOT NULL,
-    visible boolean DEFAULT true NOT NULL
+    visible boolean DEFAULT true NOT NULL,
+    redaction_id integer
 );
 
 
@@ -908,38 +926,6 @@ CREATE TABLE schema_migrations (
 );
 
 
---
--- Name: sessions; Type: TABLE; Schema: public; Owner: -; Tablespace: 
---
-
-CREATE TABLE sessions (
-    id integer NOT NULL,
-    session_id character varying(255),
-    data text,
-    created_at timestamp without time zone,
-    updated_at timestamp without time zone
-);
-
-
---
--- Name: sessions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
---
-
-CREATE SEQUENCE sessions_id_seq
-    START WITH 1
-    INCREMENT BY 1
-    NO MINVALUE
-    NO MAXVALUE
-    CACHE 1;
-
-
---
--- Name: sessions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
---
-
-ALTER SEQUENCE sessions_id_seq OWNED BY sessions.id;
-
-
 --
 -- Name: user_blocks; Type: TABLE; Schema: public; Owner: -; Tablespace: 
 --
@@ -953,7 +939,8 @@ CREATE TABLE user_blocks (
     needs_view boolean DEFAULT false NOT NULL,
     revoker_id bigint,
     created_at timestamp without time zone,
-    updated_at timestamp without time zone
+    updated_at timestamp without time zone,
+    reason_format format_enum DEFAULT 'html'::format_enum NOT NULL
 );
 
 
@@ -1077,10 +1064,15 @@ CREATE TABLE users (
     status user_status_enum DEFAULT 'pending'::user_status_enum NOT NULL,
     terms_agreed timestamp without time zone,
     consider_pd boolean DEFAULT false NOT NULL,
-    openid_url character varying(255),
     preferred_editor character varying(255),
     terms_seen boolean DEFAULT false NOT NULL,
-    image_fingerprint character varying(255)
+    openid_url character varying(255),
+    description_format format_enum DEFAULT 'html'::format_enum NOT NULL,
+    image_fingerprint character varying(255),
+    changesets_count integer DEFAULT 0 NOT NULL,
+    traces_count integer DEFAULT 0 NOT NULL,
+    diary_entries_count integer DEFAULT 0 NOT NULL,
+    image_use_gravatar boolean DEFAULT true NOT NULL
 );
 
 
@@ -1136,7 +1128,8 @@ CREATE TABLE ways (
     changeset_id bigint NOT NULL,
     "timestamp" timestamp without time zone NOT NULL,
     version bigint NOT NULL,
-    visible boolean DEFAULT true NOT NULL
+    visible boolean DEFAULT true NOT NULL,
+    redaction_id integer
 );
 
 
@@ -1161,13 +1154,6 @@ ALTER TABLE ONLY changesets ALTER COLUMN id SET DEFAULT nextval('changesets_id_s
 ALTER TABLE ONLY client_applications ALTER COLUMN id SET DEFAULT nextval('client_applications_id_seq'::regclass);
 
 
---
--- Name: id; Type: DEFAULT; Schema: public; Owner: -
---
-
-ALTER TABLE ONLY countries ALTER COLUMN id SET DEFAULT nextval('countries_id_seq'::regclass);
-
-
 --
 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
 --
@@ -1263,7 +1249,7 @@ ALTER TABLE ONLY oauth_tokens ALTER COLUMN id SET DEFAULT nextval('oauth_tokens_
 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
 --
 
-ALTER TABLE ONLY sessions ALTER COLUMN id SET DEFAULT nextval('sessions_id_seq'::regclass);
+ALTER TABLE ONLY redactions ALTER COLUMN id SET DEFAULT nextval('redactions_id_seq'::regclass);
 
 
 --
@@ -1318,14 +1304,6 @@ ALTER TABLE ONLY client_applications
     ADD CONSTRAINT client_applications_pkey PRIMARY KEY (id);
 
 
---
--- Name: countries_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
---
-
-ALTER TABLE ONLY countries
-    ADD CONSTRAINT countries_pkey PRIMARY KEY (id);
-
-
 --
 -- Name: current_node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
 --
@@ -1494,6 +1472,14 @@ ALTER TABLE ONLY oauth_tokens
     ADD CONSTRAINT oauth_tokens_pkey PRIMARY KEY (id);
 
 
+--
+-- Name: redactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY redactions
+    ADD CONSTRAINT redactions_pkey PRIMARY KEY (id);
+
+
 --
 -- Name: relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
 --
@@ -1518,14 +1504,6 @@ ALTER TABLE ONLY relations
     ADD CONSTRAINT relations_pkey PRIMARY KEY (relation_id, version);
 
 
---
--- Name: sessions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
---
-
-ALTER TABLE ONLY sessions
-    ADD CONSTRAINT sessions_pkey PRIMARY KEY (id);
-
-
 --
 -- Name: user_blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
 --
@@ -1639,13 +1617,6 @@ CREATE INDEX changesets_user_id_created_at_idx ON changesets USING btree (user_i
 CREATE INDEX changesets_user_id_id_idx ON changesets USING btree (user_id, id);
 
 
---
--- Name: countries_code_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
---
-
-CREATE UNIQUE INDEX countries_code_idx ON countries USING btree (code);
-
-
 --
 -- Name: current_nodes_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
 --
@@ -1772,6 +1743,20 @@ CREATE INDEX gpx_files_visible_visibility_idx ON gpx_files USING btree (visible,
 CREATE UNIQUE INDEX index_client_applications_on_key ON client_applications USING btree (key);
 
 
+--
+-- Name: index_note_comments_on_body; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX index_note_comments_on_body ON note_comments USING gin (to_tsvector('english'::regconfig, body));
+
+
+--
+-- Name: index_note_comments_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX index_note_comments_on_created_at ON note_comments USING btree (created_at);
+
+
 --
 -- Name: index_oauth_nonces_on_nonce_and_timestamp; Type: INDEX; Schema: public; Owner: -; Tablespace: 
 --
@@ -1891,13 +1876,6 @@ CREATE INDEX relations_changeset_id_idx ON relations USING btree (changeset_id);
 CREATE INDEX relations_timestamp_idx ON relations USING btree ("timestamp");
 
 
---
--- Name: sessions_session_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
---
-
-CREATE UNIQUE INDEX sessions_session_id_idx ON sessions USING btree (session_id);
-
-
 --
 -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace: 
 --
@@ -2189,6 +2167,14 @@ ALTER TABLE ONLY nodes
     ADD CONSTRAINT nodes_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
 
 
+--
+-- Name: nodes_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY nodes
+    ADD CONSTRAINT nodes_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES redactions(id);
+
+
 --
 -- Name: note_comments_author_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
@@ -2221,6 +2207,14 @@ ALTER TABLE ONLY oauth_tokens
     ADD CONSTRAINT oauth_tokens_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
 
 
+--
+-- Name: redactions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY redactions
+    ADD CONSTRAINT redactions_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
 --
 -- Name: relation_members_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
@@ -2245,6 +2239,14 @@ ALTER TABLE ONLY relations
     ADD CONSTRAINT relations_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
 
 
+--
+-- Name: relations_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY relations
+    ADD CONSTRAINT relations_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES redactions(id);
+
+
 --
 -- Name: user_blocks_moderator_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
@@ -2325,10 +2327,20 @@ ALTER TABLE ONLY ways
     ADD CONSTRAINT ways_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
 
 
+--
+-- Name: ways_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY ways
+    ADD CONSTRAINT ways_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES redactions(id);
+
+
 --
 -- PostgreSQL database dump complete
 --
 
+SET search_path TO "$user",public;
+
 INSERT INTO schema_migrations (version) VALUES ('1');
 
 INSERT INTO schema_migrations (version) VALUES ('10');
@@ -2381,8 +2393,36 @@ INSERT INTO schema_migrations (version) VALUES ('20120208122334');
 
 INSERT INTO schema_migrations (version) VALUES ('20120208194454');
 
+INSERT INTO schema_migrations (version) VALUES ('20120214210114');
+
 INSERT INTO schema_migrations (version) VALUES ('20120219161649');
 
+INSERT INTO schema_migrations (version) VALUES ('20120318201948');
+
+INSERT INTO schema_migrations (version) VALUES ('20120328090602');
+
+INSERT INTO schema_migrations (version) VALUES ('20120404205604');
+
+INSERT INTO schema_migrations (version) VALUES ('20120808231205');
+
+INSERT INTO schema_migrations (version) VALUES ('20121005195010');
+
+INSERT INTO schema_migrations (version) VALUES ('20121012044047');
+
+INSERT INTO schema_migrations (version) VALUES ('20121119165817');
+
+INSERT INTO schema_migrations (version) VALUES ('20121202155309');
+
+INSERT INTO schema_migrations (version) VALUES ('20121203124841');
+
+INSERT INTO schema_migrations (version) VALUES ('20130328184137');
+
+INSERT INTO schema_migrations (version) VALUES ('20131212124700');
+
+INSERT INTO schema_migrations (version) VALUES ('20140115192822');
+
+INSERT INTO schema_migrations (version) VALUES ('20140117185510');
+
 INSERT INTO schema_migrations (version) VALUES ('21');
 
 INSERT INTO schema_migrations (version) VALUES ('22');
@@ -2469,4 +2509,4 @@ INSERT INTO schema_migrations (version) VALUES ('7');
 
 INSERT INTO schema_migrations (version) VALUES ('8');
 
-INSERT INTO schema_migrations (version) VALUES ('9');
\ No newline at end of file
+INSERT INTO schema_migrations (version) VALUES ('9');
