X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/4065f8f4f3d98524ae56ae7926b3ee039cb06ef6..3ce4de1295ecec082313740a3cdf25c2831164f7:/db/structure.sql diff --git a/db/structure.sql b/db/structure.sql index 3ccc12462..a049e5ebd 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -38,6 +38,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: - -- @@ -90,7 +101,7 @@ CREATE TYPE user_status_enum AS ENUM ( CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer LANGUAGE c STRICT - AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point'; + AS '/srv/www/userapi.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point'; -- @@ -99,7 +110,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/master.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point'; + AS '/srv/www/userapi.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point'; -- @@ -108,7 +119,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/master.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4'; + AS '/srv/www/userapi.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4'; SET default_tablespace = ''; @@ -207,8 +218,8 @@ CREATE TABLE client_applications ( key character varying(50), secret character varying(50), user_id integer, - created_at timestamp without time zone, - updated_at timestamp without time zone, + created_at timestamp without time zone NOT NULL, + updated_at timestamp without time zone NOT NULL, allow_read_prefs boolean DEFAULT false NOT NULL, allow_write_prefs boolean DEFAULT false NOT NULL, allow_write_diary boolean DEFAULT false NOT NULL, @@ -437,7 +448,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 ); @@ -474,7 +486,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 ); @@ -634,7 +647,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 ); @@ -681,7 +695,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 ); @@ -693,8 +708,8 @@ CREATE TABLE oauth_nonces ( id integer NOT NULL, nonce character varying(255), "timestamp" integer, - created_at timestamp without time zone, - updated_at timestamp without time zone + created_at timestamp without time zone NOT NULL, + updated_at timestamp without time zone NOT NULL ); @@ -730,8 +745,8 @@ CREATE TABLE oauth_tokens ( secret character varying(50), authorized_at timestamp without time zone, invalidated_at timestamp without time zone, - created_at timestamp without time zone, - updated_at timestamp without time zone, + created_at timestamp without time zone NOT NULL, + updated_at timestamp without time zone NOT NULL, allow_read_prefs boolean DEFAULT false NOT NULL, allow_write_prefs boolean DEFAULT false NOT NULL, allow_write_diary boolean DEFAULT false NOT NULL, @@ -764,6 +779,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: -- @@ -799,7 +848,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 ); @@ -812,38 +862,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: -- @@ -856,8 +874,9 @@ CREATE TABLE user_blocks ( ends_at timestamp without time zone NOT NULL, needs_view boolean DEFAULT false NOT NULL, revoker_id bigint, - created_at timestamp without time zone, - updated_at timestamp without time zone + created_at timestamp without time zone NOT NULL, + updated_at timestamp without time zone NOT NULL, + reason_format format_enum DEFAULT 'html'::format_enum NOT NULL ); @@ -898,8 +917,8 @@ CREATE TABLE user_preferences ( CREATE TABLE user_roles ( id integer NOT NULL, user_id bigint NOT NULL, - created_at timestamp without time zone, - updated_at timestamp without time zone, + created_at timestamp without time zone NOT NULL, + updated_at timestamp without time zone NOT NULL, role user_role_enum NOT NULL, granter_id bigint NOT NULL ); @@ -981,10 +1000,13 @@ 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, - openid_url character varying(255), - image_fingerprint 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 ); @@ -1040,7 +1062,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 ); @@ -1048,140 +1071,140 @@ CREATE TABLE ways ( -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE acls ALTER COLUMN id SET DEFAULT nextval('acls_id_seq'::regclass); +ALTER TABLE ONLY acls ALTER COLUMN id SET DEFAULT nextval('acls_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE changesets ALTER COLUMN id SET DEFAULT nextval('changesets_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 client_applications ALTER COLUMN id SET DEFAULT nextval('client_applications_id_seq'::regclass); +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 countries ALTER COLUMN id SET DEFAULT nextval('countries_id_seq'::regclass); +ALTER TABLE ONLY countries ALTER COLUMN id SET DEFAULT nextval('countries_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE current_nodes ALTER COLUMN id SET DEFAULT nextval('current_nodes_id_seq'::regclass); +ALTER TABLE ONLY current_nodes ALTER COLUMN id SET DEFAULT nextval('current_nodes_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE current_relations ALTER COLUMN id SET DEFAULT nextval('current_relations_id_seq'::regclass); +ALTER TABLE ONLY current_relations ALTER COLUMN id SET DEFAULT nextval('current_relations_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE current_ways ALTER COLUMN id SET DEFAULT nextval('current_ways_id_seq'::regclass); +ALTER TABLE ONLY current_ways ALTER COLUMN id SET DEFAULT nextval('current_ways_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE diary_comments ALTER COLUMN id SET DEFAULT nextval('diary_comments_id_seq'::regclass); +ALTER TABLE ONLY diary_comments ALTER COLUMN id SET DEFAULT nextval('diary_comments_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE diary_entries ALTER COLUMN id SET DEFAULT nextval('diary_entries_id_seq'::regclass); +ALTER TABLE ONLY diary_entries ALTER COLUMN id SET DEFAULT nextval('diary_entries_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE friends ALTER COLUMN id SET DEFAULT nextval('friends_id_seq'::regclass); +ALTER TABLE ONLY friends ALTER COLUMN id SET DEFAULT nextval('friends_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE gpx_file_tags ALTER COLUMN id SET DEFAULT nextval('gpx_file_tags_id_seq'::regclass); +ALTER TABLE ONLY gpx_file_tags ALTER COLUMN id SET DEFAULT nextval('gpx_file_tags_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE gpx_files ALTER COLUMN id SET DEFAULT nextval('gpx_files_id_seq'::regclass); +ALTER TABLE ONLY gpx_files ALTER COLUMN id SET DEFAULT nextval('gpx_files_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE messages ALTER COLUMN id SET DEFAULT nextval('messages_id_seq'::regclass); +ALTER TABLE ONLY messages ALTER COLUMN id SET DEFAULT nextval('messages_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE oauth_nonces ALTER COLUMN id SET DEFAULT nextval('oauth_nonces_id_seq'::regclass); +ALTER TABLE ONLY oauth_nonces ALTER COLUMN id SET DEFAULT nextval('oauth_nonces_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE oauth_tokens ALTER COLUMN id SET DEFAULT nextval('oauth_tokens_id_seq'::regclass); +ALTER TABLE ONLY oauth_tokens ALTER COLUMN id SET DEFAULT nextval('oauth_tokens_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE 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); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE user_blocks ALTER COLUMN id SET DEFAULT nextval('user_blocks_id_seq'::regclass); +ALTER TABLE ONLY user_blocks ALTER COLUMN id SET DEFAULT nextval('user_blocks_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE user_roles ALTER COLUMN id SET DEFAULT nextval('user_roles_id_seq'::regclass); +ALTER TABLE ONLY user_roles ALTER COLUMN id SET DEFAULT nextval('user_roles_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE user_tokens ALTER COLUMN id SET DEFAULT nextval('user_tokens_id_seq'::regclass); +ALTER TABLE ONLY user_tokens ALTER COLUMN id SET DEFAULT nextval('user_tokens_id_seq'::regclass); -- -- Name: id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass); +ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass); -- @@ -1368,6 +1391,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: -- @@ -1392,14 +1423,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: -- @@ -1737,13 +1760,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: -- @@ -2035,6 +2051,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: oauth_tokens_client_application_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: - -- @@ -2051,6 +2075,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: - -- @@ -2075,6 +2107,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: - -- @@ -2155,6 +2195,14 @@ 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 -- @@ -2207,8 +2255,18 @@ 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 ('21'); INSERT INTO schema_migrations (version) VALUES ('22');