]> git.openstreetmap.org Git - rails.git/blobdiff - db/structure.sql
Merge branch 'p' of https://github.com/jfirebaugh/openstreetmap-website into jfirebaugh-p
[rails.git] / db / structure.sql
index 8e76de5160622df47f7b70b748b2839da509dfa9..08aafa8d7ccea6d24ceb06927b777d1aee9ee7df 100644 (file)
@@ -2,12 +2,16 @@
 -- PostgreSQL database dump
 --
 
+-- Dumped from database version 9.5.7
+-- Dumped by pg_dump version 9.5.7
+
 SET statement_timeout = 0;
 SET lock_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: -
@@ -120,20 +124,47 @@ CREATE TYPE user_status_enum AS ENUM (
 );
 
 
+--
+-- Name: maptile_for_point(bigint, bigint, integer); Type: FUNCTION; Schema: public; Owner: -
+--
+
+CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer
+    LANGUAGE c STRICT
+    AS '$libdir/libpgosm', 'maptile_for_point';
+
+
+--
+-- Name: tile_for_point(integer, integer); Type: FUNCTION; Schema: public; Owner: -
+--
+
+CREATE FUNCTION tile_for_point(integer, integer) RETURNS bigint
+    LANGUAGE c STRICT
+    AS '$libdir/libpgosm', 'tile_for_point';
+
+
+--
+-- Name: xid_to_int4(xid); Type: FUNCTION; Schema: public; Owner: -
+--
+
+CREATE FUNCTION xid_to_int4(xid) RETURNS integer
+    LANGUAGE c IMMUTABLE STRICT
+    AS '$libdir/libpgosm', 'xid_to_int4';
+
+
 SET default_tablespace = '';
 
 SET default_with_oids = false;
 
 --
--- Name: acls; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: acls; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE acls (
     id integer NOT NULL,
     address inet,
-    k character varying NOT NULL,
-    v character varying,
-    domain character varying
+    k character varying(255) NOT NULL,
+    v character varying(255),
+    domain character varying(255)
 );
 
 
@@ -157,7 +188,19 @@ ALTER SEQUENCE acls_id_seq OWNED BY acls.id;
 
 
 --
--- Name: changeset_comments; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE ar_internal_metadata (
+    key character varying NOT NULL,
+    value character varying,
+    created_at timestamp without time zone NOT NULL,
+    updated_at timestamp without time zone NOT NULL
+);
+
+
+--
+-- Name: changeset_comments; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE changeset_comments (
@@ -190,18 +233,18 @@ ALTER SEQUENCE changeset_comments_id_seq OWNED BY changeset_comments.id;
 
 
 --
--- Name: changeset_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: changeset_tags; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE changeset_tags (
     changeset_id bigint NOT NULL,
-    k character varying DEFAULT ''::character varying NOT NULL,
-    v character varying DEFAULT ''::character varying NOT NULL
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
 );
 
 
 --
--- Name: changesets; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: changesets; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE changesets (
@@ -237,7 +280,7 @@ ALTER SEQUENCE changesets_id_seq OWNED BY changesets.id;
 
 
 --
--- Name: changesets_subscribers; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: changesets_subscribers; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE changesets_subscribers (
@@ -247,15 +290,15 @@ CREATE TABLE changesets_subscribers (
 
 
 --
--- Name: client_applications; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: client_applications; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE client_applications (
     id integer NOT NULL,
-    name character varying,
-    url character varying,
-    support_url character varying,
-    callback_url character varying,
+    name character varying(255),
+    url character varying(255),
+    support_url character varying(255),
+    callback_url character varying(255),
     key character varying(50),
     secret character varying(50),
     user_id integer,
@@ -291,18 +334,18 @@ ALTER SEQUENCE client_applications_id_seq OWNED BY client_applications.id;
 
 
 --
--- Name: current_node_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: current_node_tags; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE current_node_tags (
     node_id bigint NOT NULL,
-    k character varying DEFAULT ''::character varying NOT NULL,
-    v character varying DEFAULT ''::character varying NOT NULL
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
 );
 
 
 --
--- Name: current_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: current_nodes; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE current_nodes (
@@ -337,31 +380,31 @@ ALTER SEQUENCE current_nodes_id_seq OWNED BY current_nodes.id;
 
 
 --
--- Name: current_relation_members; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: current_relation_members; Type: TABLE; Schema: public; Owner: -
 --
 
 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 NOT NULL,
+    member_role character varying(255) NOT NULL,
     sequence_id integer DEFAULT 0 NOT NULL
 );
 
 
 --
--- Name: current_relation_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: current_relation_tags; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE current_relation_tags (
     relation_id bigint NOT NULL,
-    k character varying DEFAULT ''::character varying NOT NULL,
-    v character varying DEFAULT ''::character varying NOT NULL
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
 );
 
 
 --
--- Name: current_relations; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: current_relations; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE current_relations (
@@ -393,7 +436,7 @@ ALTER SEQUENCE current_relations_id_seq OWNED BY current_relations.id;
 
 
 --
--- Name: current_way_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: current_way_nodes; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE current_way_nodes (
@@ -404,18 +447,18 @@ CREATE TABLE current_way_nodes (
 
 
 --
--- Name: current_way_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: current_way_tags; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE current_way_tags (
     way_id bigint NOT NULL,
-    k character varying DEFAULT ''::character varying NOT NULL,
-    v character varying DEFAULT ''::character varying NOT NULL
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
 );
 
 
 --
--- Name: current_ways; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: current_ways; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE current_ways (
@@ -447,7 +490,7 @@ ALTER SEQUENCE current_ways_id_seq OWNED BY current_ways.id;
 
 
 --
--- Name: diary_comments; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_comments; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE diary_comments (
@@ -482,19 +525,19 @@ ALTER SEQUENCE diary_comments_id_seq OWNED BY diary_comments.id;
 
 
 --
--- Name: diary_entries; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_entries; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE diary_entries (
     id bigint NOT NULL,
     user_id bigint NOT NULL,
-    title character varying NOT NULL,
+    title character varying(255) 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 DEFAULT 'en'::character varying NOT NULL,
+    language_code character varying(255) DEFAULT 'en'::character varying NOT NULL,
     visible boolean DEFAULT true NOT NULL,
     body_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
 );
@@ -520,7 +563,17 @@ ALTER SEQUENCE diary_entries_id_seq OWNED BY diary_entries.id;
 
 
 --
--- Name: friends; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_entry_subscriptions; Type: TABLE; Schema: public; Owner: -
+--
+
+CREATE TABLE diary_entry_subscriptions (
+    user_id bigint NOT NULL,
+    diary_entry_id bigint NOT NULL
+);
+
+
+--
+-- Name: friends; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE friends (
@@ -550,7 +603,7 @@ ALTER SEQUENCE friends_id_seq OWNED BY friends.id;
 
 
 --
--- Name: gps_points; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: gps_points; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE gps_points (
@@ -565,12 +618,12 @@ CREATE TABLE gps_points (
 
 
 --
--- Name: gpx_file_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_file_tags; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE gpx_file_tags (
     gpx_id bigint DEFAULT 0 NOT NULL,
-    tag character varying NOT NULL,
+    tag character varying(255) NOT NULL,
     id bigint NOT NULL
 );
 
@@ -595,19 +648,19 @@ ALTER SEQUENCE gpx_file_tags_id_seq OWNED BY gpx_file_tags.id;
 
 
 --
--- Name: gpx_files; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_files; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE gpx_files (
     id bigint NOT NULL,
     user_id bigint NOT NULL,
     visible boolean DEFAULT true NOT NULL,
-    name character varying DEFAULT ''::character varying NOT NULL,
+    name character varying(255) DEFAULT ''::character varying NOT NULL,
     size bigint,
     latitude double precision,
     longitude double precision,
     "timestamp" timestamp without time zone NOT NULL,
-    description character varying DEFAULT ''::character varying NOT NULL,
+    description character varying(255) DEFAULT ''::character varying NOT NULL,
     inserted boolean NOT NULL,
     visibility gpx_visibility_enum DEFAULT 'public'::gpx_visibility_enum NOT NULL
 );
@@ -633,24 +686,24 @@ ALTER SEQUENCE gpx_files_id_seq OWNED BY gpx_files.id;
 
 
 --
--- Name: languages; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: languages; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE languages (
-    code character varying NOT NULL,
-    english_name character varying NOT NULL,
-    native_name character varying
+    code character varying(255) NOT NULL,
+    english_name character varying(255) NOT NULL,
+    native_name character varying(255)
 );
 
 
 --
--- Name: messages; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: messages; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE messages (
     id bigint NOT NULL,
     from_user_id bigint NOT NULL,
-    title character varying NOT NULL,
+    title character varying(255) NOT NULL,
     body text NOT NULL,
     sent_on timestamp without time zone NOT NULL,
     message_read boolean DEFAULT false NOT NULL,
@@ -681,19 +734,19 @@ ALTER SEQUENCE messages_id_seq OWNED BY messages.id;
 
 
 --
--- Name: node_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: node_tags; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE node_tags (
     node_id bigint NOT NULL,
     version bigint NOT NULL,
-    k character varying DEFAULT ''::character varying NOT NULL,
-    v character varying DEFAULT ''::character varying NOT NULL
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
 );
 
 
 --
--- Name: nodes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: nodes; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE nodes (
@@ -710,11 +763,11 @@ CREATE TABLE nodes (
 
 
 --
--- Name: note_comments; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: note_comments; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE note_comments (
-    id bigint NOT NULL,
+    id integer NOT NULL,
     note_id bigint NOT NULL,
     visible boolean NOT NULL,
     created_at timestamp without time zone NOT NULL,
@@ -745,11 +798,11 @@ ALTER SEQUENCE note_comments_id_seq OWNED BY note_comments.id;
 
 
 --
--- Name: notes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: notes; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE notes (
-    id bigint NOT NULL,
+    id integer NOT NULL,
     latitude integer NOT NULL,
     longitude integer NOT NULL,
     tile bigint NOT NULL,
@@ -780,12 +833,12 @@ ALTER SEQUENCE notes_id_seq OWNED BY notes.id;
 
 
 --
--- Name: oauth_nonces; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: oauth_nonces; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE oauth_nonces (
     id integer NOT NULL,
-    nonce character varying,
+    nonce character varying(255),
     "timestamp" integer,
     created_at timestamp without time zone,
     updated_at timestamp without time zone
@@ -812,7 +865,7 @@ ALTER SEQUENCE oauth_nonces_id_seq OWNED BY oauth_nonces.id;
 
 
 --
--- Name: oauth_tokens; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: oauth_tokens; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE oauth_tokens (
@@ -832,9 +885,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,
+    callback_url character varying(255),
     verifier character varying(20),
-    scope character varying,
+    scope character varying(255),
     valid_to timestamp without time zone,
     allow_write_notes boolean DEFAULT false NOT NULL
 );
@@ -860,15 +913,15 @@ ALTER SEQUENCE oauth_tokens_id_seq OWNED BY oauth_tokens.id;
 
 
 --
--- Name: redactions; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: redactions; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE redactions (
     id integer NOT NULL,
-    title character varying,
+    title character varying(255),
     description text,
-    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,
     user_id bigint NOT NULL,
     description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
 );
@@ -894,33 +947,33 @@ ALTER SEQUENCE redactions_id_seq OWNED BY redactions.id;
 
 
 --
--- Name: relation_members; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: relation_members; Type: TABLE; Schema: public; Owner: -
 --
 
 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 NOT NULL,
+    member_role character varying(255) NOT NULL,
     version bigint DEFAULT 0 NOT NULL,
     sequence_id integer DEFAULT 0 NOT NULL
 );
 
 
 --
--- Name: relation_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: relation_tags; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE relation_tags (
     relation_id bigint DEFAULT 0 NOT NULL,
-    k character varying DEFAULT ''::character varying NOT NULL,
-    v character varying DEFAULT ''::character varying NOT NULL,
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL,
     version bigint NOT NULL
 );
 
 
 --
--- Name: relations; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: relations; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE relations (
@@ -934,16 +987,16 @@ CREATE TABLE relations (
 
 
 --
--- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE schema_migrations (
-    version character varying NOT NULL
+    version character varying(255) NOT NULL
 );
 
 
 --
--- Name: user_blocks; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: user_blocks; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE user_blocks (
@@ -980,26 +1033,26 @@ ALTER SEQUENCE user_blocks_id_seq OWNED BY user_blocks.id;
 
 
 --
--- Name: user_preferences; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: user_preferences; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE user_preferences (
     user_id bigint NOT NULL,
-    k character varying NOT NULL,
-    v character varying NOT NULL
+    k character varying(255) NOT NULL,
+    v character varying(255) NOT NULL
 );
 
 
 --
--- Name: user_roles; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: user_roles; Type: TABLE; Schema: public; Owner: -
 --
 
 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
 );
 
@@ -1024,13 +1077,13 @@ ALTER SEQUENCE user_roles_id_seq OWNED BY user_roles.id;
 
 
 --
--- Name: user_tokens; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: user_tokens; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE user_tokens (
     id bigint NOT NULL,
     user_id bigint NOT NULL,
-    token character varying NOT NULL,
+    token character varying(255) NOT NULL,
     expiry timestamp without time zone NOT NULL,
     referer text
 );
@@ -1056,40 +1109,41 @@ ALTER SEQUENCE user_tokens_id_seq OWNED BY user_tokens.id;
 
 
 --
--- Name: users; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: users; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE users (
-    email character varying NOT NULL,
+    email character varying(255) NOT NULL,
     id bigint NOT NULL,
-    pass_crypt character varying NOT NULL,
+    pass_crypt character varying(255) NOT NULL,
     creation_time timestamp without time zone NOT NULL,
-    display_name character varying DEFAULT ''::character varying NOT NULL,
+    display_name character varying(255) 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,
+    pass_salt character varying(255),
     image_file_name text,
     email_valid boolean DEFAULT false NOT NULL,
-    new_email character varying,
-    creation_ip character varying,
-    languages character varying,
+    new_email character varying(255),
+    creation_ip character varying(255),
+    languages character varying(255),
     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,
-    preferred_editor character varying,
+    preferred_editor character varying(255),
     terms_seen boolean DEFAULT false NOT NULL,
+    auth_uid character varying(255),
     description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL,
-    image_fingerprint character varying,
+    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,
-    image_content_type character varying
+    image_use_gravatar boolean DEFAULT false NOT NULL,
+    image_content_type character varying(255),
+    auth_provider character varying
 );
 
 
@@ -1113,7 +1167,7 @@ ALTER SEQUENCE users_id_seq OWNED BY users.id;
 
 
 --
--- Name: way_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: way_nodes; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE way_nodes (
@@ -1125,19 +1179,19 @@ CREATE TABLE way_nodes (
 
 
 --
--- Name: way_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: way_tags; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE way_tags (
     way_id bigint DEFAULT 0 NOT NULL,
-    k character varying NOT NULL,
-    v character varying NOT NULL,
+    k character varying(255) NOT NULL,
+    v character varying(255) NOT NULL,
     version bigint NOT NULL
 );
 
 
 --
--- Name: ways; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+-- Name: ways; Type: TABLE; Schema: public; Owner: -
 --
 
 CREATE TABLE ways (
@@ -1305,7 +1359,7 @@ ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regcl
 
 
 --
--- Name: acls_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: acls_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY acls
@@ -1313,7 +1367,15 @@ ALTER TABLE ONLY acls
 
 
 --
--- Name: changeset_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY ar_internal_metadata
+    ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
+
+
+--
+-- Name: changeset_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY changeset_comments
@@ -1321,7 +1383,7 @@ ALTER TABLE ONLY changeset_comments
 
 
 --
--- Name: changesets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: changesets_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY changesets
@@ -1329,7 +1391,7 @@ ALTER TABLE ONLY changesets
 
 
 --
--- Name: client_applications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: client_applications_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY client_applications
@@ -1337,7 +1399,7 @@ ALTER TABLE ONLY client_applications
 
 
 --
--- Name: current_node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: current_node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY current_node_tags
@@ -1345,7 +1407,7 @@ ALTER TABLE ONLY current_node_tags
 
 
 --
--- Name: current_nodes_pkey1; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: current_nodes_pkey1; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY current_nodes
@@ -1353,7 +1415,7 @@ ALTER TABLE ONLY current_nodes
 
 
 --
--- Name: current_relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: current_relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY current_relation_members
@@ -1361,7 +1423,7 @@ ALTER TABLE ONLY current_relation_members
 
 
 --
--- Name: current_relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: current_relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY current_relation_tags
@@ -1369,7 +1431,7 @@ ALTER TABLE ONLY current_relation_tags
 
 
 --
--- Name: current_relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: current_relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY current_relations
@@ -1377,7 +1439,7 @@ ALTER TABLE ONLY current_relations
 
 
 --
--- Name: current_way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: current_way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY current_way_nodes
@@ -1385,7 +1447,7 @@ ALTER TABLE ONLY current_way_nodes
 
 
 --
--- Name: current_way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: current_way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY current_way_tags
@@ -1393,7 +1455,7 @@ ALTER TABLE ONLY current_way_tags
 
 
 --
--- Name: current_ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: current_ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY current_ways
@@ -1401,7 +1463,7 @@ ALTER TABLE ONLY current_ways
 
 
 --
--- Name: diary_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY diary_comments
@@ -1409,7 +1471,7 @@ ALTER TABLE ONLY diary_comments
 
 
 --
--- Name: diary_entries_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_entries_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY diary_entries
@@ -1417,7 +1479,15 @@ ALTER TABLE ONLY diary_entries
 
 
 --
--- Name: friends_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_entry_subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_entry_subscriptions
+    ADD CONSTRAINT diary_entry_subscriptions_pkey PRIMARY KEY (user_id, diary_entry_id);
+
+
+--
+-- Name: friends_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY friends
@@ -1425,7 +1495,7 @@ ALTER TABLE ONLY friends
 
 
 --
--- Name: gpx_file_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_file_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY gpx_file_tags
@@ -1433,7 +1503,7 @@ ALTER TABLE ONLY gpx_file_tags
 
 
 --
--- Name: gpx_files_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_files_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY gpx_files
@@ -1441,7 +1511,7 @@ ALTER TABLE ONLY gpx_files
 
 
 --
--- Name: languages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: languages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY languages
@@ -1449,7 +1519,7 @@ ALTER TABLE ONLY languages
 
 
 --
--- Name: messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY messages
@@ -1457,7 +1527,7 @@ ALTER TABLE ONLY messages
 
 
 --
--- Name: node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY node_tags
@@ -1465,7 +1535,7 @@ ALTER TABLE ONLY node_tags
 
 
 --
--- Name: nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY nodes
@@ -1473,7 +1543,7 @@ ALTER TABLE ONLY nodes
 
 
 --
--- Name: note_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: note_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY note_comments
@@ -1481,7 +1551,7 @@ ALTER TABLE ONLY note_comments
 
 
 --
--- Name: notes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: notes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY notes
@@ -1489,7 +1559,7 @@ ALTER TABLE ONLY notes
 
 
 --
--- Name: oauth_nonces_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: oauth_nonces_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY oauth_nonces
@@ -1497,7 +1567,7 @@ ALTER TABLE ONLY oauth_nonces
 
 
 --
--- Name: oauth_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: oauth_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY oauth_tokens
@@ -1505,7 +1575,7 @@ ALTER TABLE ONLY oauth_tokens
 
 
 --
--- Name: redactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: redactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY redactions
@@ -1513,7 +1583,7 @@ ALTER TABLE ONLY redactions
 
 
 --
--- Name: relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY relation_members
@@ -1521,7 +1591,7 @@ ALTER TABLE ONLY relation_members
 
 
 --
--- Name: relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY relation_tags
@@ -1529,7 +1599,7 @@ ALTER TABLE ONLY relation_tags
 
 
 --
--- Name: relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY relations
@@ -1537,7 +1607,7 @@ ALTER TABLE ONLY relations
 
 
 --
--- Name: user_blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: user_blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY user_blocks
@@ -1545,7 +1615,7 @@ ALTER TABLE ONLY user_blocks
 
 
 --
--- Name: user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY user_preferences
@@ -1553,7 +1623,7 @@ ALTER TABLE ONLY user_preferences
 
 
 --
--- Name: user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY user_roles
@@ -1561,7 +1631,7 @@ ALTER TABLE ONLY user_roles
 
 
 --
--- Name: user_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: user_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY user_tokens
@@ -1569,7 +1639,7 @@ ALTER TABLE ONLY user_tokens
 
 
 --
--- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY users
@@ -1577,7 +1647,7 @@ ALTER TABLE ONLY users
 
 
 --
--- Name: way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY way_nodes
@@ -1585,7 +1655,7 @@ ALTER TABLE ONLY way_nodes
 
 
 --
--- Name: way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY way_tags
@@ -1593,7 +1663,7 @@ ALTER TABLE ONLY way_tags
 
 
 --
--- Name: ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+-- Name: ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY ways
@@ -1601,420 +1671,441 @@ ALTER TABLE ONLY ways
 
 
 --
--- Name: acls_k_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: acls_k_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX acls_k_idx ON acls USING btree (k);
 
 
 --
--- Name: changeset_tags_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: changeset_tags_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX changeset_tags_id_idx ON changeset_tags USING btree (changeset_id);
 
 
 --
--- Name: changesets_bbox_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: changesets_bbox_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX changesets_bbox_idx ON changesets USING gist (min_lat, max_lat, min_lon, max_lon);
 
 
 --
--- Name: changesets_closed_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: changesets_closed_at_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX changesets_closed_at_idx ON changesets USING btree (closed_at);
 
 
 --
--- Name: changesets_created_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: changesets_created_at_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX changesets_created_at_idx ON changesets USING btree (created_at);
 
 
 --
--- Name: changesets_user_id_created_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: changesets_user_id_created_at_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX changesets_user_id_created_at_idx ON changesets USING btree (user_id, created_at);
 
 
 --
--- Name: changesets_user_id_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: changesets_user_id_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX changesets_user_id_id_idx ON changesets USING btree (user_id, id);
 
 
 --
--- Name: current_nodes_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: current_nodes_tile_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX current_nodes_tile_idx ON current_nodes USING btree (tile);
 
 
 --
--- Name: current_nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: current_nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX current_nodes_timestamp_idx ON current_nodes USING btree ("timestamp");
 
 
 --
--- Name: current_relation_members_member_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: current_relation_members_member_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX current_relation_members_member_idx ON current_relation_members USING btree (member_type, member_id);
 
 
 --
--- Name: current_relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: current_relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX current_relations_timestamp_idx ON current_relations USING btree ("timestamp");
 
 
 --
--- Name: current_way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: current_way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX current_way_nodes_node_idx ON current_way_nodes USING btree (node_id);
 
 
 --
--- Name: current_ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: current_ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX current_ways_timestamp_idx ON current_ways USING btree ("timestamp");
 
 
 --
--- Name: diary_comment_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_comment_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX diary_comment_user_id_created_at_index ON diary_comments USING btree (user_id, created_at);
 
 
 --
--- Name: diary_comments_entry_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_comments_entry_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE UNIQUE INDEX diary_comments_entry_id_idx ON diary_comments USING btree (diary_entry_id, id);
 
 
 --
--- Name: diary_entry_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_entry_created_at_index; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX diary_entry_created_at_index ON diary_entries USING btree (created_at);
 
 
 --
--- Name: diary_entry_language_code_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_entry_language_code_created_at_index; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX diary_entry_language_code_created_at_index ON diary_entries USING btree (language_code, created_at);
 
 
 --
--- Name: diary_entry_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: diary_entry_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX diary_entry_user_id_created_at_index ON diary_entries USING btree (user_id, created_at);
 
 
 --
--- Name: friends_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: friends_user_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX friends_user_id_idx ON friends USING btree (user_id);
 
 
 --
--- Name: gpx_file_tags_gpxid_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_file_tags_gpxid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX gpx_file_tags_gpxid_idx ON gpx_file_tags USING btree (gpx_id);
 
 
 --
--- Name: gpx_file_tags_tag_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_file_tags_tag_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX gpx_file_tags_tag_idx ON gpx_file_tags USING btree (tag);
 
 
 --
--- Name: gpx_files_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_files_timestamp_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX gpx_files_timestamp_idx ON gpx_files USING btree ("timestamp");
 
 
 --
--- Name: gpx_files_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_files_user_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX gpx_files_user_id_idx ON gpx_files USING btree (user_id);
 
 
 --
--- Name: gpx_files_visible_visibility_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: gpx_files_visible_visibility_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 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: 
+-- Name: index_changeset_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
 --
 
 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: 
+-- Name: index_changesets_subscribers_on_changeset_id; Type: INDEX; Schema: public; Owner: -
 --
 
 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: 
+-- Name: index_changesets_subscribers_on_subscriber_id_and_changeset_id; Type: INDEX; Schema: public; Owner: -
 --
 
 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: 
+-- Name: index_client_applications_on_key; Type: INDEX; Schema: public; Owner: -
 --
 
 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: 
+-- Name: index_client_applications_on_user_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_client_applications_on_user_id ON client_applications USING btree (user_id);
+
+
+--
+-- Name: index_diary_entry_subscriptions_on_diary_entry_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_diary_entry_subscriptions_on_diary_entry_id ON diary_entry_subscriptions USING btree (diary_entry_id);
+
+
+--
+-- Name: index_note_comments_on_body; Type: INDEX; Schema: public; Owner: -
 --
 
 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: 
+-- Name: index_note_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
 --
 
 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: 
+-- Name: index_oauth_nonces_on_nonce_and_timestamp; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE UNIQUE INDEX index_oauth_nonces_on_nonce_and_timestamp ON oauth_nonces USING btree (nonce, "timestamp");
 
 
 --
--- Name: index_oauth_tokens_on_token; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: index_oauth_tokens_on_token; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE UNIQUE INDEX index_oauth_tokens_on_token ON oauth_tokens USING btree (token);
 
 
 --
--- Name: index_user_blocks_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: index_oauth_tokens_on_user_id; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_oauth_tokens_on_user_id ON oauth_tokens USING btree (user_id);
+
+
+--
+-- Name: index_user_blocks_on_user_id; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX index_user_blocks_on_user_id ON user_blocks USING btree (user_id);
 
 
 --
--- Name: messages_from_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: messages_from_user_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX messages_from_user_id_idx ON messages USING btree (from_user_id);
 
 
 --
--- Name: messages_to_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: messages_to_user_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX messages_to_user_id_idx ON messages USING btree (to_user_id);
 
 
 --
--- Name: nodes_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: nodes_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX nodes_changeset_id_idx ON nodes USING btree (changeset_id);
 
 
 --
--- Name: nodes_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: nodes_tile_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX nodes_tile_idx ON nodes USING btree (tile);
 
 
 --
--- Name: nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX nodes_timestamp_idx ON nodes USING btree ("timestamp");
 
 
 --
--- Name: note_comments_note_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: note_comments_note_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX note_comments_note_id_idx ON note_comments USING btree (note_id);
 
 
 --
--- Name: notes_created_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: notes_created_at_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX notes_created_at_idx ON notes USING btree (created_at);
 
 
 --
--- Name: notes_tile_status_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: notes_tile_status_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX notes_tile_status_idx ON notes USING btree (tile, status);
 
 
 --
--- Name: notes_updated_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: notes_updated_at_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX notes_updated_at_idx ON notes USING btree (updated_at);
 
 
 --
--- Name: points_gpxid_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: points_gpxid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX points_gpxid_idx ON gps_points USING btree (gpx_id);
 
 
 --
--- Name: points_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: points_tile_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX points_tile_idx ON gps_points USING btree (tile);
 
 
 --
--- Name: relation_members_member_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: relation_members_member_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX relation_members_member_idx ON relation_members USING btree (member_type, member_id);
 
 
 --
--- Name: relations_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: relations_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX relations_changeset_id_idx ON relations USING btree (changeset_id);
 
 
 --
--- Name: relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX relations_timestamp_idx ON relations USING btree ("timestamp");
 
 
 --
--- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version);
 
 
 --
--- Name: user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: user_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX user_id_idx ON friends USING btree (friend_user_id);
 
 
 --
--- Name: user_openid_url_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: user_roles_id_role_unique; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE UNIQUE INDEX user_openid_url_idx ON users USING btree (openid_url);
+CREATE UNIQUE INDEX user_roles_id_role_unique ON user_roles USING btree (user_id, role);
 
 
 --
--- Name: user_roles_id_role_unique; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: user_tokens_token_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE UNIQUE INDEX user_roles_id_role_unique ON user_roles USING btree (user_id, role);
+CREATE UNIQUE INDEX user_tokens_token_idx ON user_tokens USING btree (token);
 
 
 --
--- Name: user_tokens_token_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: user_tokens_user_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-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: user_tokens_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: users_auth_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX user_tokens_user_id_idx ON user_tokens USING btree (user_id);
+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: 
+-- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE UNIQUE INDEX users_display_name_idx ON users USING btree (display_name);
 
 
 --
--- Name: users_display_name_lower_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: users_display_name_lower_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX users_display_name_lower_idx ON users USING btree (lower((display_name)::text));
 
 
 --
--- Name: users_email_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: users_email_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE UNIQUE INDEX users_email_idx ON users USING btree (email);
 
 
 --
--- Name: users_email_lower_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: users_email_lower_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX users_email_lower_idx ON users USING btree (lower((email)::text));
 
 
 --
--- Name: way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX way_nodes_node_idx ON way_nodes USING btree (node_id);
 
 
 --
--- Name: ways_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: ways_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX ways_changeset_id_idx ON ways USING btree (changeset_id);
 
 
 --
--- Name: ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+-- Name: ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -
 --
 
 CREATE INDEX ways_timestamp_idx ON ways USING btree ("timestamp");
@@ -2180,6 +2271,22 @@ ALTER TABLE ONLY diary_entries
     ADD CONSTRAINT diary_entries_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
 
 
+--
+-- Name: diary_entry_subscriptions_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_entry_subscriptions
+    ADD CONSTRAINT diary_entry_subscriptions_diary_entry_id_fkey FOREIGN KEY (diary_entry_id) REFERENCES diary_entries(id);
+
+
+--
+-- Name: diary_entry_subscriptions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_entry_subscriptions
+    ADD CONSTRAINT diary_entry_subscriptions_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
 --
 -- Name: friends_friend_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
@@ -2424,185 +2531,103 @@ ALTER TABLE ONLY ways
 -- PostgreSQL database dump complete
 --
 
-SET search_path TO "$user",public;
-
-INSERT INTO schema_migrations (version) VALUES ('1');
-
-INSERT INTO schema_migrations (version) VALUES ('10');
-
-INSERT INTO schema_migrations (version) VALUES ('11');
-
-INSERT INTO schema_migrations (version) VALUES ('12');
-
-INSERT INTO schema_migrations (version) VALUES ('13');
-
-INSERT INTO schema_migrations (version) VALUES ('14');
-
-INSERT INTO schema_migrations (version) VALUES ('15');
-
-INSERT INTO schema_migrations (version) VALUES ('16');
-
-INSERT INTO schema_migrations (version) VALUES ('17');
-
-INSERT INTO schema_migrations (version) VALUES ('18');
-
-INSERT INTO schema_migrations (version) VALUES ('19');
-
-INSERT INTO schema_migrations (version) VALUES ('2');
-
-INSERT INTO schema_migrations (version) VALUES ('20');
-
-INSERT INTO schema_migrations (version) VALUES ('20100513171259');
-
-INSERT INTO schema_migrations (version) VALUES ('20100516124737');
-
-INSERT INTO schema_migrations (version) VALUES ('20100910084426');
-
-INSERT INTO schema_migrations (version) VALUES ('20101114011429');
-
-INSERT INTO schema_migrations (version) VALUES ('20110322001319');
-
-INSERT INTO schema_migrations (version) VALUES ('20110508145337');
-
-INSERT INTO schema_migrations (version) VALUES ('20110521142405');
-
-INSERT INTO schema_migrations (version) VALUES ('20110925112722');
-
-INSERT INTO schema_migrations (version) VALUES ('20111116184519');
-
-INSERT INTO schema_migrations (version) VALUES ('20111212183945');
-
-INSERT INTO schema_migrations (version) VALUES ('20120123184321');
-
-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 ('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 ('21');
-
-INSERT INTO schema_migrations (version) VALUES ('22');
-
-INSERT INTO schema_migrations (version) VALUES ('23');
-
-INSERT INTO schema_migrations (version) VALUES ('24');
-
-INSERT INTO schema_migrations (version) VALUES ('25');
-
-INSERT INTO schema_migrations (version) VALUES ('26');
-
-INSERT INTO schema_migrations (version) VALUES ('27');
-
-INSERT INTO schema_migrations (version) VALUES ('28');
-
-INSERT INTO schema_migrations (version) VALUES ('29');
-
-INSERT INTO schema_migrations (version) VALUES ('3');
-
-INSERT INTO schema_migrations (version) VALUES ('30');
-
-INSERT INTO schema_migrations (version) VALUES ('31');
-
-INSERT INTO schema_migrations (version) VALUES ('32');
-
-INSERT INTO schema_migrations (version) VALUES ('33');
-
-INSERT INTO schema_migrations (version) VALUES ('34');
-
-INSERT INTO schema_migrations (version) VALUES ('35');
-
-INSERT INTO schema_migrations (version) VALUES ('36');
-
-INSERT INTO schema_migrations (version) VALUES ('37');
-
-INSERT INTO schema_migrations (version) VALUES ('38');
-
-INSERT INTO schema_migrations (version) VALUES ('39');
-
-INSERT INTO schema_migrations (version) VALUES ('4');
-
-INSERT INTO schema_migrations (version) VALUES ('40');
-
-INSERT INTO schema_migrations (version) VALUES ('41');
-
-INSERT INTO schema_migrations (version) VALUES ('42');
-
-INSERT INTO schema_migrations (version) VALUES ('43');
-
-INSERT INTO schema_migrations (version) VALUES ('44');
-
-INSERT INTO schema_migrations (version) VALUES ('45');
-
-INSERT INTO schema_migrations (version) VALUES ('46');
-
-INSERT INTO schema_migrations (version) VALUES ('47');
-
-INSERT INTO schema_migrations (version) VALUES ('48');
-
-INSERT INTO schema_migrations (version) VALUES ('49');
-
-INSERT INTO schema_migrations (version) VALUES ('5');
-
-INSERT INTO schema_migrations (version) VALUES ('50');
-
-INSERT INTO schema_migrations (version) VALUES ('51');
-
-INSERT INTO schema_migrations (version) VALUES ('52');
-
-INSERT INTO schema_migrations (version) VALUES ('53');
-
-INSERT INTO schema_migrations (version) VALUES ('54');
-
-INSERT INTO schema_migrations (version) VALUES ('55');
-
-INSERT INTO schema_migrations (version) VALUES ('56');
-
-INSERT INTO schema_migrations (version) VALUES ('57');
-
-INSERT INTO schema_migrations (version) VALUES ('6');
-
-INSERT INTO schema_migrations (version) VALUES ('7');
-
-INSERT INTO schema_migrations (version) VALUES ('8');
+SET search_path TO "$user", public;
+
+INSERT INTO "schema_migrations" (version) VALUES
+('1'),
+('10'),
+('11'),
+('12'),
+('13'),
+('14'),
+('15'),
+('16'),
+('17'),
+('18'),
+('19'),
+('2'),
+('20'),
+('20100513171259'),
+('20100516124737'),
+('20100910084426'),
+('20101114011429'),
+('20110322001319'),
+('20110508145337'),
+('20110521142405'),
+('20110925112722'),
+('20111116184519'),
+('20111212183945'),
+('20120123184321'),
+('20120208122334'),
+('20120208194454'),
+('20120214210114'),
+('20120219161649'),
+('20120318201948'),
+('20120328090602'),
+('20120404205604'),
+('20120808231205'),
+('20121005195010'),
+('20121012044047'),
+('20121119165817'),
+('20121202155309'),
+('20121203124841'),
+('20130328184137'),
+('20131212124700'),
+('20140115192822'),
+('20140117185510'),
+('20140210003018'),
+('20140507110937'),
+('20140519141742'),
+('20150110152606'),
+('20150111192335'),
+('20150222101847'),
+('20150818224516'),
+('20161002153425'),
+('20161011010929'),
+('20170222134109'),
+('21'),
+('22'),
+('23'),
+('24'),
+('25'),
+('26'),
+('27'),
+('28'),
+('29'),
+('3'),
+('30'),
+('31'),
+('32'),
+('33'),
+('34'),
+('35'),
+('36'),
+('37'),
+('38'),
+('39'),
+('4'),
+('40'),
+('41'),
+('42'),
+('43'),
+('44'),
+('45'),
+('46'),
+('47'),
+('48'),
+('49'),
+('5'),
+('50'),
+('51'),
+('52'),
+('53'),
+('54'),
+('55'),
+('56'),
+('57'),
+('6'),
+('7'),
+('8'),
+('9');
 
-INSERT INTO schema_migrations (version) VALUES ('9');