X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0c8ed1938b80483a777f140e15de6020f4723a4a..4028f4cdb91f616bc774dc9b9fa8c7183eb1f6dd:/db/structure.sql?ds=sidebyside diff --git a/db/structure.sql b/db/structure.sql index e6165e9e7..c7e26ac66 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; @@ -157,9 +158,9 @@ SET default_with_oids = false; CREATE TABLE acls ( id integer NOT NULL, address inet, - k character varying(255) NOT NULL, - v character varying(255), - domain character varying(255) + k character varying NOT NULL, + v character varying, + domain character varying ); @@ -182,14 +183,47 @@ CREATE SEQUENCE acls_id_seq ALTER SEQUENCE acls_id_seq OWNED BY acls.id; +-- +-- Name: changeset_comments; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE changeset_comments ( + id integer NOT NULL, + changeset_id bigint NOT NULL, + author_id bigint NOT NULL, + body text NOT NULL, + created_at timestamp without time zone NOT NULL, + visible boolean NOT NULL +); + + +-- +-- Name: changeset_comments_id_seq; Type: SEQUENCE; Schema: public; Owner: - +-- + +CREATE SEQUENCE changeset_comments_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +-- +-- Name: changeset_comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - +-- + +ALTER SEQUENCE changeset_comments_id_seq OWNED BY changeset_comments.id; + + -- -- Name: changeset_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: -- CREATE TABLE changeset_tags ( changeset_id bigint NOT NULL, - k character varying(255) DEFAULT ''::character varying NOT NULL, - v character varying(255) DEFAULT ''::character varying NOT NULL + k character varying DEFAULT ''::character varying NOT NULL, + v character varying DEFAULT ''::character varying NOT NULL ); @@ -229,16 +263,26 @@ CREATE SEQUENCE changesets_id_seq ALTER SEQUENCE changesets_id_seq OWNED BY changesets.id; +-- +-- Name: changesets_subscribers; Type: TABLE; Schema: public; Owner: -; Tablespace: +-- + +CREATE TABLE changesets_subscribers ( + subscriber_id bigint NOT NULL, + changeset_id bigint NOT NULL +); + + -- -- Name: client_applications; Type: TABLE; Schema: public; Owner: -; Tablespace: -- CREATE TABLE client_applications ( id integer NOT NULL, - name character varying(255), - url character varying(255), - support_url character varying(255), - callback_url character varying(255), + name character varying, + url character varying, + support_url character varying, + callback_url character varying, key character varying(50), secret character varying(50), user_id integer, @@ -273,47 +317,14 @@ 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: -- CREATE TABLE current_node_tags ( node_id bigint NOT NULL, - k character varying(255) DEFAULT ''::character varying NOT NULL, - v character varying(255) DEFAULT ''::character varying NOT NULL + k character varying DEFAULT ''::character varying NOT NULL, + v character varying DEFAULT ''::character varying NOT NULL ); @@ -360,7 +371,7 @@ CREATE TABLE current_relation_members ( relation_id bigint NOT NULL, member_type nwr_enum NOT NULL, member_id bigint NOT NULL, - member_role character varying(255) NOT NULL, + member_role character varying NOT NULL, sequence_id integer DEFAULT 0 NOT NULL ); @@ -371,8 +382,8 @@ CREATE TABLE current_relation_members ( CREATE TABLE current_relation_tags ( relation_id bigint NOT NULL, - k character varying(255) DEFAULT ''::character varying NOT NULL, - v character varying(255) DEFAULT ''::character varying NOT NULL + k character varying DEFAULT ''::character varying NOT NULL, + v character varying DEFAULT ''::character varying NOT NULL ); @@ -425,8 +436,8 @@ CREATE TABLE current_way_nodes ( CREATE TABLE current_way_tags ( way_id bigint NOT NULL, - k character varying(255) DEFAULT ''::character varying NOT NULL, - v character varying(255) DEFAULT ''::character varying NOT NULL + k character varying DEFAULT ''::character varying NOT NULL, + v character varying DEFAULT ''::character varying NOT NULL ); @@ -474,7 +485,7 @@ CREATE TABLE diary_comments ( created_at timestamp without time zone NOT NULL, updated_at timestamp without time zone NOT NULL, visible boolean DEFAULT true NOT NULL, - body_format format_enum DEFAULT 'html'::format_enum NOT NULL + body_format format_enum DEFAULT 'markdown'::format_enum NOT NULL ); @@ -504,15 +515,15 @@ ALTER SEQUENCE diary_comments_id_seq OWNED BY diary_comments.id; CREATE TABLE diary_entries ( id bigint NOT NULL, user_id bigint NOT NULL, - title character varying(255) NOT NULL, + title character varying NOT NULL, body text NOT NULL, created_at timestamp without time zone NOT NULL, updated_at timestamp without time zone NOT NULL, latitude double precision, longitude double precision, - language_code character varying(255) DEFAULT 'en'::character varying NOT NULL, + language_code character varying DEFAULT 'en'::character varying NOT NULL, visible boolean DEFAULT true NOT NULL, - body_format format_enum DEFAULT 'html'::format_enum NOT NULL + body_format format_enum DEFAULT 'markdown'::format_enum NOT NULL ); @@ -586,7 +597,7 @@ CREATE TABLE gps_points ( CREATE TABLE gpx_file_tags ( gpx_id bigint DEFAULT 0 NOT NULL, - tag character varying(255) NOT NULL, + tag character varying NOT NULL, id bigint NOT NULL ); @@ -618,12 +629,12 @@ CREATE TABLE gpx_files ( id bigint NOT NULL, user_id bigint NOT NULL, visible boolean DEFAULT true NOT NULL, - name character varying(255) DEFAULT ''::character varying NOT NULL, + name character varying DEFAULT ''::character varying NOT NULL, size bigint, latitude double precision, longitude double precision, "timestamp" timestamp without time zone NOT NULL, - description character varying(255) DEFAULT ''::character varying NOT NULL, + description character varying DEFAULT ''::character varying NOT NULL, inserted boolean NOT NULL, visibility gpx_visibility_enum DEFAULT 'public'::gpx_visibility_enum NOT NULL ); @@ -653,9 +664,9 @@ ALTER SEQUENCE gpx_files_id_seq OWNED BY gpx_files.id; -- CREATE TABLE languages ( - code character varying(255) NOT NULL, - english_name character varying(255) NOT NULL, - native_name character varying(255) + code character varying NOT NULL, + english_name character varying NOT NULL, + native_name character varying ); @@ -666,14 +677,14 @@ CREATE TABLE languages ( CREATE TABLE messages ( id bigint NOT NULL, from_user_id bigint NOT NULL, - title character varying(255) NOT NULL, + title character varying NOT NULL, body text NOT NULL, sent_on timestamp without time zone NOT NULL, 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, - body_format format_enum DEFAULT 'html'::format_enum NOT NULL + body_format format_enum DEFAULT 'markdown'::format_enum NOT NULL ); @@ -703,8 +714,8 @@ ALTER SEQUENCE messages_id_seq OWNED BY messages.id; CREATE TABLE node_tags ( node_id bigint NOT NULL, version bigint NOT NULL, - k character varying(255) DEFAULT ''::character varying NOT NULL, - v character varying(255) DEFAULT ''::character varying NOT NULL + k character varying DEFAULT ''::character varying NOT NULL, + v character varying DEFAULT ''::character varying NOT NULL ); @@ -730,7 +741,7 @@ CREATE TABLE nodes ( -- CREATE TABLE note_comments ( - id integer NOT NULL, + id bigint NOT NULL, note_id bigint NOT NULL, visible boolean NOT NULL, created_at timestamp without time zone NOT NULL, @@ -765,7 +776,7 @@ ALTER SEQUENCE note_comments_id_seq OWNED BY note_comments.id; -- CREATE TABLE notes ( - id integer NOT NULL, + id bigint NOT NULL, latitude integer NOT NULL, longitude integer NOT NULL, tile bigint NOT NULL, @@ -801,7 +812,7 @@ ALTER SEQUENCE notes_id_seq OWNED BY notes.id; CREATE TABLE oauth_nonces ( id integer NOT NULL, - nonce character varying(255), + nonce character varying, "timestamp" integer, created_at timestamp without time zone, updated_at timestamp without time zone @@ -848,9 +859,9 @@ CREATE TABLE oauth_tokens ( allow_write_api boolean DEFAULT false NOT NULL, allow_read_gpx boolean DEFAULT false NOT NULL, allow_write_gpx boolean DEFAULT false NOT NULL, - callback_url character varying(255), + callback_url character varying, verifier character varying(20), - scope character varying(255), + scope character varying, valid_to timestamp without time zone, allow_write_notes boolean DEFAULT false NOT NULL ); @@ -881,10 +892,10 @@ ALTER SEQUENCE oauth_tokens_id_seq OWNED BY oauth_tokens.id; CREATE TABLE redactions ( id integer NOT NULL, - title character varying(255), + title character varying, description text, - created_at timestamp without time zone NOT NULL, - updated_at timestamp without time zone NOT NULL, + created_at timestamp without time zone, + updated_at timestamp without time zone, user_id bigint NOT NULL, description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL ); @@ -917,7 +928,7 @@ CREATE TABLE relation_members ( relation_id bigint DEFAULT 0 NOT NULL, member_type nwr_enum NOT NULL, member_id bigint NOT NULL, - member_role character varying(255) NOT NULL, + member_role character varying NOT NULL, version bigint DEFAULT 0 NOT NULL, sequence_id integer DEFAULT 0 NOT NULL ); @@ -929,8 +940,8 @@ CREATE TABLE relation_members ( CREATE TABLE relation_tags ( relation_id bigint DEFAULT 0 NOT NULL, - k character varying(255) DEFAULT ''::character varying NOT NULL, - v character varying(255) DEFAULT ''::character varying NOT NULL, + k character varying DEFAULT ''::character varying NOT NULL, + v character varying DEFAULT ''::character varying NOT NULL, version bigint NOT NULL ); @@ -954,7 +965,7 @@ CREATE TABLE relations ( -- CREATE TABLE schema_migrations ( - version character varying(255) NOT NULL + version character varying NOT NULL ); @@ -972,7 +983,7 @@ CREATE TABLE user_blocks ( revoker_id bigint, created_at timestamp without time zone, updated_at timestamp without time zone, - reason_format format_enum DEFAULT 'html'::format_enum NOT NULL + reason_format format_enum DEFAULT 'markdown'::format_enum NOT NULL ); @@ -1001,8 +1012,8 @@ ALTER SEQUENCE user_blocks_id_seq OWNED BY user_blocks.id; CREATE TABLE user_preferences ( user_id bigint NOT NULL, - k character varying(255) NOT NULL, - v character varying(255) NOT NULL + k character varying NOT NULL, + v character varying NOT NULL ); @@ -1013,9 +1024,9 @@ CREATE TABLE user_preferences ( CREATE TABLE user_roles ( id integer NOT NULL, user_id bigint NOT NULL, + role user_role_enum NOT NULL, created_at timestamp without time zone, updated_at timestamp without time zone, - role user_role_enum NOT NULL, granter_id bigint NOT NULL ); @@ -1046,7 +1057,7 @@ ALTER SEQUENCE user_roles_id_seq OWNED BY user_roles.id; CREATE TABLE user_tokens ( id bigint NOT NULL, user_id bigint NOT NULL, - token character varying(255) NOT NULL, + token character varying NOT NULL, expiry timestamp without time zone NOT NULL, referer text ); @@ -1076,35 +1087,37 @@ ALTER SEQUENCE user_tokens_id_seq OWNED BY user_tokens.id; -- CREATE TABLE users ( - email character varying(255) NOT NULL, + email character varying NOT NULL, id bigint NOT NULL, - pass_crypt character varying(255) NOT NULL, + pass_crypt character varying NOT NULL, creation_time timestamp without time zone NOT NULL, - display_name character varying(255) DEFAULT ''::character varying NOT NULL, + display_name character varying DEFAULT ''::character varying NOT NULL, data_public boolean DEFAULT false NOT NULL, description text DEFAULT ''::text NOT NULL, home_lat double precision, home_lon double precision, home_zoom smallint DEFAULT 3, nearby integer DEFAULT 50, - pass_salt character varying(255), + pass_salt character varying, image_file_name text, email_valid boolean DEFAULT false NOT NULL, - new_email character varying(255), - creation_ip character varying(255), - languages character varying(255), + new_email character varying, + creation_ip character varying, + languages character varying, status user_status_enum DEFAULT 'pending'::user_status_enum NOT NULL, terms_agreed timestamp without time zone, consider_pd boolean DEFAULT false NOT NULL, - preferred_editor character varying(255), + auth_uid character varying, + preferred_editor character varying, terms_seen boolean DEFAULT false NOT NULL, - openid_url character varying(255), - description_format format_enum DEFAULT 'html'::format_enum NOT NULL, - image_fingerprint character varying(255), + description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL, + image_fingerprint character varying, 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 + image_use_gravatar boolean DEFAULT true NOT NULL, + image_content_type character varying, + auth_provider character varying ); @@ -1145,8 +1158,8 @@ CREATE TABLE way_nodes ( CREATE TABLE way_tags ( way_id bigint DEFAULT 0 NOT NULL, - k character varying(255) NOT NULL, - v character varying(255) NOT NULL, + k character varying NOT NULL, + v character varying NOT NULL, version bigint NOT NULL ); @@ -1176,21 +1189,21 @@ ALTER TABLE ONLY acls ALTER COLUMN id SET DEFAULT nextval('acls_id_seq'::regclas -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY changesets ALTER COLUMN id SET DEFAULT nextval('changesets_id_seq'::regclass); +ALTER TABLE ONLY changeset_comments ALTER COLUMN id SET DEFAULT nextval('changeset_comments_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY client_applications ALTER COLUMN id SET DEFAULT nextval('client_applications_id_seq'::regclass); +ALTER TABLE ONLY changesets ALTER COLUMN id SET DEFAULT nextval('changesets_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY countries ALTER COLUMN id SET DEFAULT nextval('countries_id_seq'::regclass); +ALTER TABLE ONLY client_applications ALTER COLUMN id SET DEFAULT nextval('client_applications_id_seq'::regclass); -- @@ -1327,6 +1340,14 @@ ALTER TABLE ONLY acls ADD CONSTRAINT acls_pkey PRIMARY KEY (id); +-- +-- Name: changeset_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY changeset_comments + ADD CONSTRAINT changeset_comments_pkey PRIMARY KEY (id); + + -- -- Name: changesets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- @@ -1343,14 +1364,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: -- @@ -1664,13 +1677,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: -- @@ -1790,6 +1796,27 @@ CREATE INDEX gpx_files_user_id_idx ON gpx_files USING btree (user_id); CREATE INDEX gpx_files_visible_visibility_idx ON gpx_files USING btree (visible, visibility); +-- +-- Name: index_changeset_comments_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX index_changeset_comments_on_created_at ON changeset_comments USING btree (created_at); + + +-- +-- Name: index_changesets_subscribers_on_changeset_id; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE INDEX index_changesets_subscribers_on_changeset_id ON changesets_subscribers USING btree (changeset_id); + + +-- +-- Name: index_changesets_subscribers_on_subscriber_id_and_changeset_id; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE UNIQUE INDEX index_changesets_subscribers_on_subscriber_id_and_changeset_id ON changesets_subscribers USING btree (subscriber_id, changeset_id); + + -- -- Name: index_client_applications_on_key; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -1797,6 +1824,13 @@ 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: -- @@ -1937,13 +1971,6 @@ CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (v CREATE INDEX user_id_idx ON friends USING btree (friend_user_id); --- --- Name: user_openid_url_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: --- - -CREATE UNIQUE INDEX user_openid_url_idx ON users USING btree (openid_url); - - -- -- Name: user_roles_id_role_unique; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -1965,6 +1992,13 @@ CREATE UNIQUE INDEX user_tokens_token_idx ON user_tokens USING btree (token); CREATE INDEX user_tokens_user_id_idx ON user_tokens USING btree (user_id); +-- +-- Name: users_auth_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: +-- + +CREATE UNIQUE INDEX users_auth_idx ON users USING btree (auth_provider, auth_uid); + + -- -- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: -- @@ -2014,6 +2048,22 @@ CREATE INDEX ways_changeset_id_idx ON ways USING btree (changeset_id); CREATE INDEX ways_timestamp_idx ON ways USING btree ("timestamp"); +-- +-- Name: changeset_comments_author_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY changeset_comments + ADD CONSTRAINT changeset_comments_author_id_fkey FOREIGN KEY (author_id) REFERENCES users(id); + + +-- +-- Name: changeset_comments_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY changeset_comments + ADD CONSTRAINT changeset_comments_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id); + + -- -- Name: changeset_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- @@ -2022,6 +2072,22 @@ ALTER TABLE ONLY changeset_tags ADD CONSTRAINT changeset_tags_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id); +-- +-- Name: changesets_subscribers_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY changesets_subscribers + ADD CONSTRAINT changesets_subscribers_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id); + + +-- +-- Name: changesets_subscribers_subscriber_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - +-- + +ALTER TABLE ONLY changesets_subscribers + ADD CONSTRAINT changesets_subscribers_subscriber_id_fkey FOREIGN KEY (subscriber_id) REFERENCES users(id); + + -- -- Name: changesets_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- @@ -2466,6 +2532,22 @@ 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 ('20140210003018'); + +INSERT INTO schema_migrations (version) VALUES ('20140507110937'); + +INSERT INTO schema_migrations (version) VALUES ('20140519141742'); + +INSERT INTO schema_migrations (version) VALUES ('20150110152606'); + +INSERT INTO schema_migrations (version) VALUES ('20150111192335'); + +INSERT INTO schema_migrations (version) VALUES ('20150222101847'); + INSERT INTO schema_migrations (version) VALUES ('21'); INSERT INTO schema_migrations (version) VALUES ('22'); @@ -2553,3 +2635,4 @@ INSERT INTO schema_migrations (version) VALUES ('7'); INSERT INTO schema_migrations (version) VALUES ('8'); INSERT INTO schema_migrations (version) VALUES ('9'); +