]> git.openstreetmap.org Git - rails.git/blob - db/structure.sql
Normalize strings ahead of comparing spammy phrases
[rails.git] / db / structure.sql
1 SET statement_timeout = 0;
2 SET lock_timeout = 0;
3 SET idle_in_transaction_session_timeout = 0;
4 SET client_encoding = 'UTF8';
5 SET standard_conforming_strings = on;
6 SELECT pg_catalog.set_config('search_path', '', false);
7 SET check_function_bodies = false;
8 SET xmloption = content;
9 SET client_min_messages = warning;
10 SET row_security = off;
11
12 --
13 -- Name: public; Type: SCHEMA; Schema: -; Owner: -
14 --
15
16 -- *not* creating schema, since initdb creates it
17
18
19 --
20 -- Name: btree_gist; Type: EXTENSION; Schema: -; Owner: -
21 --
22
23 CREATE EXTENSION IF NOT EXISTS btree_gist WITH SCHEMA public;
24
25
26 --
27 -- Name: EXTENSION btree_gist; Type: COMMENT; Schema: -; Owner: -
28 --
29
30 COMMENT ON EXTENSION btree_gist IS 'support for indexing common datatypes in GiST';
31
32
33 --
34 -- Name: format_enum; Type: TYPE; Schema: public; Owner: -
35 --
36
37 CREATE TYPE public.format_enum AS ENUM (
38     'html',
39     'markdown',
40     'text'
41 );
42
43
44 --
45 -- Name: gpx_visibility_enum; Type: TYPE; Schema: public; Owner: -
46 --
47
48 CREATE TYPE public.gpx_visibility_enum AS ENUM (
49     'private',
50     'public',
51     'trackable',
52     'identifiable'
53 );
54
55
56 --
57 -- Name: issue_status_enum; Type: TYPE; Schema: public; Owner: -
58 --
59
60 CREATE TYPE public.issue_status_enum AS ENUM (
61     'open',
62     'ignored',
63     'resolved'
64 );
65
66
67 --
68 -- Name: note_event_enum; Type: TYPE; Schema: public; Owner: -
69 --
70
71 CREATE TYPE public.note_event_enum AS ENUM (
72     'opened',
73     'closed',
74     'reopened',
75     'commented',
76     'hidden'
77 );
78
79
80 --
81 -- Name: note_status_enum; Type: TYPE; Schema: public; Owner: -
82 --
83
84 CREATE TYPE public.note_status_enum AS ENUM (
85     'open',
86     'closed',
87     'hidden'
88 );
89
90
91 --
92 -- Name: nwr_enum; Type: TYPE; Schema: public; Owner: -
93 --
94
95 CREATE TYPE public.nwr_enum AS ENUM (
96     'Node',
97     'Way',
98     'Relation'
99 );
100
101
102 --
103 -- Name: user_role_enum; Type: TYPE; Schema: public; Owner: -
104 --
105
106 CREATE TYPE public.user_role_enum AS ENUM (
107     'administrator',
108     'moderator',
109     'importer'
110 );
111
112
113 --
114 -- Name: user_status_enum; Type: TYPE; Schema: public; Owner: -
115 --
116
117 CREATE TYPE public.user_status_enum AS ENUM (
118     'pending',
119     'active',
120     'confirmed',
121     'suspended',
122     'deleted'
123 );
124
125
126 --
127 -- Name: api_rate_limit(bigint); Type: FUNCTION; Schema: public; Owner: -
128 --
129
130 CREATE FUNCTION public.api_rate_limit(user_id bigint) RETURNS integer
131     LANGUAGE plpgsql STABLE
132     AS $$
133     DECLARE
134       min_changes_per_hour int4 := 100;
135       initial_changes_per_hour int4 := 1000;
136       max_changes_per_hour int4 := 100000;
137       days_to_max_changes int4 := 7;
138       importer_changes_per_hour int4 := 1000000;
139       moderator_changes_per_hour int4 := 1000000;
140       roles text[];
141       last_block timestamp without time zone;
142       first_change timestamp without time zone;
143       active_reports int4;
144       time_since_first_change double precision;
145       max_changes double precision;
146       recent_changes int4;
147     BEGIN
148       SELECT ARRAY_AGG(user_roles.role) INTO STRICT roles FROM user_roles WHERE user_roles.user_id = api_rate_limit.user_id;
149
150       IF 'moderator' = ANY(roles) THEN
151         max_changes := moderator_changes_per_hour;
152       ELSIF 'importer' = ANY(roles) THEN
153         max_changes := importer_changes_per_hour;
154       ELSE
155         SELECT user_blocks.created_at INTO last_block FROM user_blocks WHERE user_blocks.user_id = api_rate_limit.user_id ORDER BY user_blocks.created_at DESC LIMIT 1;
156
157         IF FOUND THEN
158           SELECT changesets.created_at INTO first_change FROM changesets WHERE changesets.user_id = api_rate_limit.user_id AND changesets.created_at > last_block ORDER BY changesets.created_at LIMIT 1;
159         ELSE
160           SELECT changesets.created_at INTO first_change FROM changesets WHERE changesets.user_id = api_rate_limit.user_id ORDER BY changesets.created_at LIMIT 1;
161         END IF;
162
163         IF NOT FOUND THEN
164           first_change := CURRENT_TIMESTAMP AT TIME ZONE 'UTC';
165         END IF;
166
167         SELECT COUNT(*) INTO STRICT active_reports
168         FROM issues INNER JOIN reports ON reports.issue_id = issues.id
169         WHERE issues.reported_user_id = api_rate_limit.user_id AND issues.status = 'open' AND reports.updated_at >= COALESCE(issues.resolved_at, '1970-01-01');
170
171         time_since_first_change := EXTRACT(EPOCH FROM CURRENT_TIMESTAMP AT TIME ZONE 'UTC' - first_change);
172
173         max_changes := max_changes_per_hour * POWER(time_since_first_change, 2) / POWER(days_to_max_changes * 24 * 60 * 60, 2);
174         max_changes := GREATEST(initial_changes_per_hour, LEAST(max_changes_per_hour, FLOOR(max_changes)));
175         max_changes := max_changes / POWER(2, active_reports);
176         max_changes := GREATEST(min_changes_per_hour, LEAST(max_changes_per_hour, max_changes));
177       END IF;
178
179       SELECT COALESCE(SUM(changesets.num_changes), 0) INTO STRICT recent_changes FROM changesets WHERE changesets.user_id = api_rate_limit.user_id AND changesets.created_at >= CURRENT_TIMESTAMP AT TIME ZONE 'UTC' - '1 hour'::interval;
180
181       RETURN max_changes - recent_changes;
182     END;
183     $$;
184
185
186 --
187 -- Name: api_size_limit(bigint); Type: FUNCTION; Schema: public; Owner: -
188 --
189
190 CREATE FUNCTION public.api_size_limit(user_id bigint) RETURNS bigint
191     LANGUAGE plpgsql STABLE
192     AS $$
193     DECLARE
194       min_size_limit int8 := 10000000;
195       initial_size_limit int8 := 30000000;
196       max_size_limit int8 := 5400000000;
197       days_to_max_size_limit int4 := 28;
198       importer_size_limit int8 := 5400000000;
199       moderator_size_limit int8 := 5400000000;
200       roles text[];
201       last_block timestamp without time zone;
202       first_change timestamp without time zone;
203       active_reports int4;
204       time_since_first_change double precision;
205       size_limit int8;
206     BEGIN
207       SELECT ARRAY_AGG(user_roles.role) INTO STRICT roles FROM user_roles WHERE user_roles.user_id = api_size_limit.user_id;
208
209       IF 'moderator' = ANY(roles) THEN
210         size_limit := moderator_size_limit;
211       ELSIF 'importer' = ANY(roles) THEN
212         size_limit := importer_size_limit;
213       ELSE
214         SELECT user_blocks.created_at INTO last_block FROM user_blocks WHERE user_blocks.user_id = api_size_limit.user_id ORDER BY user_blocks.created_at DESC LIMIT 1;
215
216         IF FOUND THEN
217           SELECT changesets.created_at INTO first_change FROM changesets WHERE changesets.user_id = api_size_limit.user_id AND changesets.created_at > last_block ORDER BY changesets.created_at LIMIT 1;
218         ELSE
219           SELECT changesets.created_at INTO first_change FROM changesets WHERE changesets.user_id = api_size_limit.user_id ORDER BY changesets.created_at LIMIT 1;
220         END IF;
221
222         IF NOT FOUND THEN
223           first_change := CURRENT_TIMESTAMP AT TIME ZONE 'UTC';
224         END IF;
225
226         SELECT COUNT(*) INTO STRICT active_reports
227         FROM issues INNER JOIN reports ON reports.issue_id = issues.id
228         WHERE issues.reported_user_id = api_size_limit.user_id AND issues.status = 'open' AND reports.updated_at >= COALESCE(issues.resolved_at, '1970-01-01');
229
230         time_since_first_change := EXTRACT(EPOCH FROM CURRENT_TIMESTAMP AT TIME ZONE 'UTC' - first_change);
231
232         size_limit := max_size_limit * POWER(time_since_first_change, 2) / POWER(days_to_max_size_limit * 24 * 60 * 60, 2);
233         size_limit := GREATEST(initial_size_limit, LEAST(max_size_limit, FLOOR(size_limit)));
234         size_limit := size_limit / POWER(2, active_reports);
235         size_limit := GREATEST(min_size_limit, LEAST(max_size_limit, size_limit));
236       END IF;
237
238       RETURN size_limit;
239     END;
240     $$;
241
242
243 SET default_tablespace = '';
244
245 SET default_table_access_method = heap;
246
247 --
248 -- Name: acls; Type: TABLE; Schema: public; Owner: -
249 --
250
251 CREATE TABLE public.acls (
252     id bigint NOT NULL,
253     address inet,
254     k character varying NOT NULL,
255     v character varying,
256     domain character varying,
257     mx character varying
258 );
259
260
261 --
262 -- Name: acls_id_seq; Type: SEQUENCE; Schema: public; Owner: -
263 --
264
265 CREATE SEQUENCE public.acls_id_seq
266     START WITH 1
267     INCREMENT BY 1
268     NO MINVALUE
269     NO MAXVALUE
270     CACHE 1;
271
272
273 --
274 -- Name: acls_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
275 --
276
277 ALTER SEQUENCE public.acls_id_seq OWNED BY public.acls.id;
278
279
280 --
281 -- Name: active_storage_attachments; Type: TABLE; Schema: public; Owner: -
282 --
283
284 CREATE TABLE public.active_storage_attachments (
285     id bigint NOT NULL,
286     name character varying NOT NULL,
287     record_type character varying NOT NULL,
288     record_id bigint NOT NULL,
289     blob_id bigint NOT NULL,
290     created_at timestamp without time zone NOT NULL
291 );
292
293
294 --
295 -- Name: active_storage_attachments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
296 --
297
298 CREATE SEQUENCE public.active_storage_attachments_id_seq
299     START WITH 1
300     INCREMENT BY 1
301     NO MINVALUE
302     NO MAXVALUE
303     CACHE 1;
304
305
306 --
307 -- Name: active_storage_attachments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
308 --
309
310 ALTER SEQUENCE public.active_storage_attachments_id_seq OWNED BY public.active_storage_attachments.id;
311
312
313 --
314 -- Name: active_storage_blobs; Type: TABLE; Schema: public; Owner: -
315 --
316
317 CREATE TABLE public.active_storage_blobs (
318     id bigint NOT NULL,
319     key character varying NOT NULL,
320     filename character varying NOT NULL,
321     content_type character varying,
322     metadata text,
323     byte_size bigint NOT NULL,
324     checksum character varying,
325     created_at timestamp without time zone NOT NULL,
326     service_name character varying NOT NULL
327 );
328
329
330 --
331 -- Name: active_storage_blobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
332 --
333
334 CREATE SEQUENCE public.active_storage_blobs_id_seq
335     START WITH 1
336     INCREMENT BY 1
337     NO MINVALUE
338     NO MAXVALUE
339     CACHE 1;
340
341
342 --
343 -- Name: active_storage_blobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
344 --
345
346 ALTER SEQUENCE public.active_storage_blobs_id_seq OWNED BY public.active_storage_blobs.id;
347
348
349 --
350 -- Name: active_storage_variant_records; Type: TABLE; Schema: public; Owner: -
351 --
352
353 CREATE TABLE public.active_storage_variant_records (
354     id bigint NOT NULL,
355     blob_id bigint NOT NULL,
356     variation_digest character varying NOT NULL
357 );
358
359
360 --
361 -- Name: active_storage_variant_records_id_seq; Type: SEQUENCE; Schema: public; Owner: -
362 --
363
364 CREATE SEQUENCE public.active_storage_variant_records_id_seq
365     START WITH 1
366     INCREMENT BY 1
367     NO MINVALUE
368     NO MAXVALUE
369     CACHE 1;
370
371
372 --
373 -- Name: active_storage_variant_records_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
374 --
375
376 ALTER SEQUENCE public.active_storage_variant_records_id_seq OWNED BY public.active_storage_variant_records.id;
377
378
379 --
380 -- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
381 --
382
383 CREATE TABLE public.ar_internal_metadata (
384     key character varying NOT NULL,
385     value character varying,
386     created_at timestamp(6) without time zone NOT NULL,
387     updated_at timestamp(6) without time zone NOT NULL
388 );
389
390
391 --
392 -- Name: changeset_comments; Type: TABLE; Schema: public; Owner: -
393 --
394
395 CREATE TABLE public.changeset_comments (
396     id integer NOT NULL,
397     changeset_id bigint NOT NULL,
398     author_id bigint NOT NULL,
399     body text NOT NULL,
400     created_at timestamp without time zone NOT NULL,
401     visible boolean NOT NULL
402 );
403
404
405 --
406 -- Name: changeset_comments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
407 --
408
409 CREATE SEQUENCE public.changeset_comments_id_seq
410     AS integer
411     START WITH 1
412     INCREMENT BY 1
413     NO MINVALUE
414     NO MAXVALUE
415     CACHE 1;
416
417
418 --
419 -- Name: changeset_comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
420 --
421
422 ALTER SEQUENCE public.changeset_comments_id_seq OWNED BY public.changeset_comments.id;
423
424
425 --
426 -- Name: changeset_tags; Type: TABLE; Schema: public; Owner: -
427 --
428
429 CREATE TABLE public.changeset_tags (
430     changeset_id bigint NOT NULL,
431     k character varying DEFAULT ''::character varying NOT NULL,
432     v character varying DEFAULT ''::character varying NOT NULL
433 );
434
435
436 --
437 -- Name: changesets; Type: TABLE; Schema: public; Owner: -
438 --
439
440 CREATE TABLE public.changesets (
441     id bigint NOT NULL,
442     user_id bigint NOT NULL,
443     created_at timestamp without time zone NOT NULL,
444     min_lat integer,
445     max_lat integer,
446     min_lon integer,
447     max_lon integer,
448     closed_at timestamp without time zone NOT NULL,
449     num_changes integer DEFAULT 0 NOT NULL,
450     num_created_nodes integer DEFAULT 0 NOT NULL,
451     num_modified_nodes integer DEFAULT 0 NOT NULL,
452     num_deleted_nodes integer DEFAULT 0 NOT NULL,
453     num_created_ways integer DEFAULT 0 NOT NULL,
454     num_modified_ways integer DEFAULT 0 NOT NULL,
455     num_deleted_ways integer DEFAULT 0 NOT NULL,
456     num_created_relations integer DEFAULT 0 NOT NULL,
457     num_modified_relations integer DEFAULT 0 NOT NULL,
458     num_deleted_relations integer DEFAULT 0 NOT NULL
459 );
460
461
462 --
463 -- Name: changesets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
464 --
465
466 CREATE SEQUENCE public.changesets_id_seq
467     START WITH 1
468     INCREMENT BY 1
469     NO MINVALUE
470     NO MAXVALUE
471     CACHE 1;
472
473
474 --
475 -- Name: changesets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
476 --
477
478 ALTER SEQUENCE public.changesets_id_seq OWNED BY public.changesets.id;
479
480
481 --
482 -- Name: changesets_subscribers; Type: TABLE; Schema: public; Owner: -
483 --
484
485 CREATE TABLE public.changesets_subscribers (
486     subscriber_id bigint NOT NULL,
487     changeset_id bigint NOT NULL
488 );
489
490
491 --
492 -- Name: current_node_tags; Type: TABLE; Schema: public; Owner: -
493 --
494
495 CREATE TABLE public.current_node_tags (
496     node_id bigint NOT NULL,
497     k character varying DEFAULT ''::character varying NOT NULL,
498     v character varying DEFAULT ''::character varying NOT NULL
499 );
500
501
502 --
503 -- Name: current_nodes; Type: TABLE; Schema: public; Owner: -
504 --
505
506 CREATE TABLE public.current_nodes (
507     id bigint NOT NULL,
508     latitude integer NOT NULL,
509     longitude integer NOT NULL,
510     changeset_id bigint NOT NULL,
511     visible boolean NOT NULL,
512     "timestamp" timestamp without time zone NOT NULL,
513     tile bigint NOT NULL,
514     version bigint NOT NULL
515 );
516
517
518 --
519 -- Name: current_nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
520 --
521
522 CREATE SEQUENCE public.current_nodes_id_seq
523     START WITH 1
524     INCREMENT BY 1
525     NO MINVALUE
526     NO MAXVALUE
527     CACHE 1;
528
529
530 --
531 -- Name: current_nodes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
532 --
533
534 ALTER SEQUENCE public.current_nodes_id_seq OWNED BY public.current_nodes.id;
535
536
537 --
538 -- Name: current_relation_members; Type: TABLE; Schema: public; Owner: -
539 --
540
541 CREATE TABLE public.current_relation_members (
542     relation_id bigint NOT NULL,
543     member_type public.nwr_enum NOT NULL,
544     member_id bigint NOT NULL,
545     member_role character varying NOT NULL,
546     sequence_id integer DEFAULT 0 NOT NULL
547 );
548
549
550 --
551 -- Name: current_relation_tags; Type: TABLE; Schema: public; Owner: -
552 --
553
554 CREATE TABLE public.current_relation_tags (
555     relation_id bigint NOT NULL,
556     k character varying DEFAULT ''::character varying NOT NULL,
557     v character varying DEFAULT ''::character varying NOT NULL
558 );
559
560
561 --
562 -- Name: current_relations; Type: TABLE; Schema: public; Owner: -
563 --
564
565 CREATE TABLE public.current_relations (
566     id bigint NOT NULL,
567     changeset_id bigint NOT NULL,
568     "timestamp" timestamp without time zone NOT NULL,
569     visible boolean NOT NULL,
570     version bigint NOT NULL
571 );
572
573
574 --
575 -- Name: current_relations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
576 --
577
578 CREATE SEQUENCE public.current_relations_id_seq
579     START WITH 1
580     INCREMENT BY 1
581     NO MINVALUE
582     NO MAXVALUE
583     CACHE 1;
584
585
586 --
587 -- Name: current_relations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
588 --
589
590 ALTER SEQUENCE public.current_relations_id_seq OWNED BY public.current_relations.id;
591
592
593 --
594 -- Name: current_way_nodes; Type: TABLE; Schema: public; Owner: -
595 --
596
597 CREATE TABLE public.current_way_nodes (
598     way_id bigint NOT NULL,
599     node_id bigint NOT NULL,
600     sequence_id bigint NOT NULL
601 );
602
603
604 --
605 -- Name: current_way_tags; Type: TABLE; Schema: public; Owner: -
606 --
607
608 CREATE TABLE public.current_way_tags (
609     way_id bigint NOT NULL,
610     k character varying DEFAULT ''::character varying NOT NULL,
611     v character varying DEFAULT ''::character varying NOT NULL
612 );
613
614
615 --
616 -- Name: current_ways; Type: TABLE; Schema: public; Owner: -
617 --
618
619 CREATE TABLE public.current_ways (
620     id bigint NOT NULL,
621     changeset_id bigint NOT NULL,
622     "timestamp" timestamp without time zone NOT NULL,
623     visible boolean NOT NULL,
624     version bigint NOT NULL
625 );
626
627
628 --
629 -- Name: current_ways_id_seq; Type: SEQUENCE; Schema: public; Owner: -
630 --
631
632 CREATE SEQUENCE public.current_ways_id_seq
633     START WITH 1
634     INCREMENT BY 1
635     NO MINVALUE
636     NO MAXVALUE
637     CACHE 1;
638
639
640 --
641 -- Name: current_ways_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
642 --
643
644 ALTER SEQUENCE public.current_ways_id_seq OWNED BY public.current_ways.id;
645
646
647 --
648 -- Name: delayed_jobs; Type: TABLE; Schema: public; Owner: -
649 --
650
651 CREATE TABLE public.delayed_jobs (
652     id bigint NOT NULL,
653     priority integer DEFAULT 0 NOT NULL,
654     attempts integer DEFAULT 0 NOT NULL,
655     handler text NOT NULL,
656     last_error text,
657     run_at timestamp without time zone,
658     locked_at timestamp without time zone,
659     failed_at timestamp without time zone,
660     locked_by character varying,
661     queue character varying,
662     created_at timestamp without time zone,
663     updated_at timestamp without time zone
664 );
665
666
667 --
668 -- Name: delayed_jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
669 --
670
671 CREATE SEQUENCE public.delayed_jobs_id_seq
672     START WITH 1
673     INCREMENT BY 1
674     NO MINVALUE
675     NO MAXVALUE
676     CACHE 1;
677
678
679 --
680 -- Name: delayed_jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
681 --
682
683 ALTER SEQUENCE public.delayed_jobs_id_seq OWNED BY public.delayed_jobs.id;
684
685
686 --
687 -- Name: diary_comments; Type: TABLE; Schema: public; Owner: -
688 --
689
690 CREATE TABLE public.diary_comments (
691     id bigint NOT NULL,
692     diary_entry_id bigint NOT NULL,
693     user_id bigint NOT NULL,
694     body text NOT NULL,
695     created_at timestamp without time zone NOT NULL,
696     updated_at timestamp without time zone NOT NULL,
697     visible boolean DEFAULT true NOT NULL,
698     body_format public.format_enum DEFAULT 'markdown'::public.format_enum NOT NULL
699 );
700
701
702 --
703 -- Name: diary_comments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
704 --
705
706 CREATE SEQUENCE public.diary_comments_id_seq
707     START WITH 1
708     INCREMENT BY 1
709     NO MINVALUE
710     NO MAXVALUE
711     CACHE 1;
712
713
714 --
715 -- Name: diary_comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
716 --
717
718 ALTER SEQUENCE public.diary_comments_id_seq OWNED BY public.diary_comments.id;
719
720
721 --
722 -- Name: diary_entries; Type: TABLE; Schema: public; Owner: -
723 --
724
725 CREATE TABLE public.diary_entries (
726     id bigint NOT NULL,
727     user_id bigint NOT NULL,
728     title character varying NOT NULL,
729     body text NOT NULL,
730     created_at timestamp without time zone NOT NULL,
731     updated_at timestamp without time zone NOT NULL,
732     latitude double precision,
733     longitude double precision,
734     language_code character varying DEFAULT 'en'::character varying NOT NULL,
735     visible boolean DEFAULT true NOT NULL,
736     body_format public.format_enum DEFAULT 'markdown'::public.format_enum NOT NULL
737 );
738
739
740 --
741 -- Name: diary_entries_id_seq; Type: SEQUENCE; Schema: public; Owner: -
742 --
743
744 CREATE SEQUENCE public.diary_entries_id_seq
745     START WITH 1
746     INCREMENT BY 1
747     NO MINVALUE
748     NO MAXVALUE
749     CACHE 1;
750
751
752 --
753 -- Name: diary_entries_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
754 --
755
756 ALTER SEQUENCE public.diary_entries_id_seq OWNED BY public.diary_entries.id;
757
758
759 --
760 -- Name: diary_entry_subscriptions; Type: TABLE; Schema: public; Owner: -
761 --
762
763 CREATE TABLE public.diary_entry_subscriptions (
764     user_id bigint NOT NULL,
765     diary_entry_id bigint NOT NULL
766 );
767
768
769 --
770 -- Name: friends; Type: TABLE; Schema: public; Owner: -
771 --
772
773 CREATE TABLE public.friends (
774     id bigint NOT NULL,
775     user_id bigint NOT NULL,
776     friend_user_id bigint NOT NULL,
777     created_at timestamp without time zone
778 );
779
780
781 --
782 -- Name: friends_id_seq; Type: SEQUENCE; Schema: public; Owner: -
783 --
784
785 CREATE SEQUENCE public.friends_id_seq
786     START WITH 1
787     INCREMENT BY 1
788     NO MINVALUE
789     NO MAXVALUE
790     CACHE 1;
791
792
793 --
794 -- Name: friends_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
795 --
796
797 ALTER SEQUENCE public.friends_id_seq OWNED BY public.friends.id;
798
799
800 --
801 -- Name: gps_points; Type: TABLE; Schema: public; Owner: -
802 --
803
804 CREATE TABLE public.gps_points (
805     altitude double precision,
806     trackid integer NOT NULL,
807     latitude integer NOT NULL,
808     longitude integer NOT NULL,
809     gpx_id bigint NOT NULL,
810     "timestamp" timestamp without time zone,
811     tile bigint
812 );
813
814
815 --
816 -- Name: gpx_file_tags; Type: TABLE; Schema: public; Owner: -
817 --
818
819 CREATE TABLE public.gpx_file_tags (
820     gpx_id bigint NOT NULL,
821     tag character varying NOT NULL,
822     id bigint NOT NULL
823 );
824
825
826 --
827 -- Name: gpx_file_tags_id_seq; Type: SEQUENCE; Schema: public; Owner: -
828 --
829
830 CREATE SEQUENCE public.gpx_file_tags_id_seq
831     START WITH 1
832     INCREMENT BY 1
833     NO MINVALUE
834     NO MAXVALUE
835     CACHE 1;
836
837
838 --
839 -- Name: gpx_file_tags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
840 --
841
842 ALTER SEQUENCE public.gpx_file_tags_id_seq OWNED BY public.gpx_file_tags.id;
843
844
845 --
846 -- Name: gpx_files; Type: TABLE; Schema: public; Owner: -
847 --
848
849 CREATE TABLE public.gpx_files (
850     id bigint NOT NULL,
851     user_id bigint NOT NULL,
852     visible boolean DEFAULT true NOT NULL,
853     name character varying DEFAULT ''::character varying NOT NULL,
854     size bigint,
855     latitude double precision,
856     longitude double precision,
857     "timestamp" timestamp without time zone NOT NULL,
858     description character varying DEFAULT ''::character varying NOT NULL,
859     inserted boolean NOT NULL,
860     visibility public.gpx_visibility_enum DEFAULT 'public'::public.gpx_visibility_enum NOT NULL
861 );
862
863
864 --
865 -- Name: gpx_files_id_seq; Type: SEQUENCE; Schema: public; Owner: -
866 --
867
868 CREATE SEQUENCE public.gpx_files_id_seq
869     START WITH 1
870     INCREMENT BY 1
871     NO MINVALUE
872     NO MAXVALUE
873     CACHE 1;
874
875
876 --
877 -- Name: gpx_files_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
878 --
879
880 ALTER SEQUENCE public.gpx_files_id_seq OWNED BY public.gpx_files.id;
881
882
883 --
884 -- Name: issue_comments; Type: TABLE; Schema: public; Owner: -
885 --
886
887 CREATE TABLE public.issue_comments (
888     id integer NOT NULL,
889     issue_id integer NOT NULL,
890     user_id integer NOT NULL,
891     body text NOT NULL,
892     created_at timestamp without time zone NOT NULL,
893     updated_at timestamp without time zone NOT NULL
894 );
895
896
897 --
898 -- Name: issue_comments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
899 --
900
901 CREATE SEQUENCE public.issue_comments_id_seq
902     AS integer
903     START WITH 1
904     INCREMENT BY 1
905     NO MINVALUE
906     NO MAXVALUE
907     CACHE 1;
908
909
910 --
911 -- Name: issue_comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
912 --
913
914 ALTER SEQUENCE public.issue_comments_id_seq OWNED BY public.issue_comments.id;
915
916
917 --
918 -- Name: issues; Type: TABLE; Schema: public; Owner: -
919 --
920
921 CREATE TABLE public.issues (
922     id integer NOT NULL,
923     reportable_type character varying NOT NULL,
924     reportable_id integer NOT NULL,
925     reported_user_id integer,
926     status public.issue_status_enum DEFAULT 'open'::public.issue_status_enum NOT NULL,
927     assigned_role public.user_role_enum NOT NULL,
928     resolved_at timestamp without time zone,
929     resolved_by integer,
930     updated_by integer,
931     reports_count integer DEFAULT 0,
932     created_at timestamp without time zone NOT NULL,
933     updated_at timestamp without time zone NOT NULL
934 );
935
936
937 --
938 -- Name: issues_id_seq; Type: SEQUENCE; Schema: public; Owner: -
939 --
940
941 CREATE SEQUENCE public.issues_id_seq
942     AS integer
943     START WITH 1
944     INCREMENT BY 1
945     NO MINVALUE
946     NO MAXVALUE
947     CACHE 1;
948
949
950 --
951 -- Name: issues_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
952 --
953
954 ALTER SEQUENCE public.issues_id_seq OWNED BY public.issues.id;
955
956
957 --
958 -- Name: languages; Type: TABLE; Schema: public; Owner: -
959 --
960
961 CREATE TABLE public.languages (
962     code character varying NOT NULL,
963     english_name character varying NOT NULL,
964     native_name character varying
965 );
966
967
968 --
969 -- Name: messages; Type: TABLE; Schema: public; Owner: -
970 --
971
972 CREATE TABLE public.messages (
973     id bigint NOT NULL,
974     from_user_id bigint NOT NULL,
975     title character varying NOT NULL,
976     body text NOT NULL,
977     sent_on timestamp without time zone NOT NULL,
978     message_read boolean DEFAULT false NOT NULL,
979     to_user_id bigint NOT NULL,
980     to_user_visible boolean DEFAULT true NOT NULL,
981     from_user_visible boolean DEFAULT true NOT NULL,
982     body_format public.format_enum DEFAULT 'markdown'::public.format_enum NOT NULL,
983     muted boolean DEFAULT false NOT NULL
984 );
985
986
987 --
988 -- Name: messages_id_seq; Type: SEQUENCE; Schema: public; Owner: -
989 --
990
991 CREATE SEQUENCE public.messages_id_seq
992     START WITH 1
993     INCREMENT BY 1
994     NO MINVALUE
995     NO MAXVALUE
996     CACHE 1;
997
998
999 --
1000 -- Name: messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1001 --
1002
1003 ALTER SEQUENCE public.messages_id_seq OWNED BY public.messages.id;
1004
1005
1006 --
1007 -- Name: node_tags; Type: TABLE; Schema: public; Owner: -
1008 --
1009
1010 CREATE TABLE public.node_tags (
1011     node_id bigint NOT NULL,
1012     version bigint NOT NULL,
1013     k character varying DEFAULT ''::character varying NOT NULL,
1014     v character varying DEFAULT ''::character varying NOT NULL
1015 );
1016
1017
1018 --
1019 -- Name: nodes; Type: TABLE; Schema: public; Owner: -
1020 --
1021
1022 CREATE TABLE public.nodes (
1023     node_id bigint NOT NULL,
1024     latitude integer NOT NULL,
1025     longitude integer NOT NULL,
1026     changeset_id bigint NOT NULL,
1027     visible boolean NOT NULL,
1028     "timestamp" timestamp without time zone NOT NULL,
1029     tile bigint NOT NULL,
1030     version bigint NOT NULL,
1031     redaction_id integer
1032 );
1033
1034
1035 --
1036 -- Name: note_comments; Type: TABLE; Schema: public; Owner: -
1037 --
1038
1039 CREATE TABLE public.note_comments (
1040     id bigint NOT NULL,
1041     note_id bigint NOT NULL,
1042     visible boolean NOT NULL,
1043     created_at timestamp without time zone NOT NULL,
1044     author_ip inet,
1045     author_id bigint,
1046     body text,
1047     event public.note_event_enum
1048 );
1049
1050
1051 --
1052 -- Name: note_comments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1053 --
1054
1055 CREATE SEQUENCE public.note_comments_id_seq
1056     START WITH 1
1057     INCREMENT BY 1
1058     NO MINVALUE
1059     NO MAXVALUE
1060     CACHE 1;
1061
1062
1063 --
1064 -- Name: note_comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1065 --
1066
1067 ALTER SEQUENCE public.note_comments_id_seq OWNED BY public.note_comments.id;
1068
1069
1070 --
1071 -- Name: note_subscriptions; Type: TABLE; Schema: public; Owner: -
1072 --
1073
1074 CREATE TABLE public.note_subscriptions (
1075     user_id bigint NOT NULL,
1076     note_id bigint NOT NULL
1077 );
1078
1079
1080 --
1081 -- Name: notes; Type: TABLE; Schema: public; Owner: -
1082 --
1083
1084 CREATE TABLE public.notes (
1085     id bigint NOT NULL,
1086     latitude integer NOT NULL,
1087     longitude integer NOT NULL,
1088     tile bigint NOT NULL,
1089     updated_at timestamp without time zone NOT NULL,
1090     created_at timestamp without time zone NOT NULL,
1091     status public.note_status_enum NOT NULL,
1092     closed_at timestamp without time zone,
1093     description text DEFAULT ''::text NOT NULL,
1094     user_id bigint,
1095     user_ip inet
1096 );
1097
1098
1099 --
1100 -- Name: notes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1101 --
1102
1103 CREATE SEQUENCE public.notes_id_seq
1104     START WITH 1
1105     INCREMENT BY 1
1106     NO MINVALUE
1107     NO MAXVALUE
1108     CACHE 1;
1109
1110
1111 --
1112 -- Name: notes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1113 --
1114
1115 ALTER SEQUENCE public.notes_id_seq OWNED BY public.notes.id;
1116
1117
1118 --
1119 -- Name: oauth_access_grants; Type: TABLE; Schema: public; Owner: -
1120 --
1121
1122 CREATE TABLE public.oauth_access_grants (
1123     id bigint NOT NULL,
1124     resource_owner_id bigint NOT NULL,
1125     application_id bigint NOT NULL,
1126     token character varying NOT NULL,
1127     expires_in integer NOT NULL,
1128     redirect_uri text NOT NULL,
1129     created_at timestamp without time zone NOT NULL,
1130     revoked_at timestamp without time zone,
1131     scopes character varying DEFAULT ''::character varying NOT NULL,
1132     code_challenge character varying,
1133     code_challenge_method character varying
1134 );
1135
1136
1137 --
1138 -- Name: oauth_access_grants_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1139 --
1140
1141 CREATE SEQUENCE public.oauth_access_grants_id_seq
1142     START WITH 1
1143     INCREMENT BY 1
1144     NO MINVALUE
1145     NO MAXVALUE
1146     CACHE 1;
1147
1148
1149 --
1150 -- Name: oauth_access_grants_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1151 --
1152
1153 ALTER SEQUENCE public.oauth_access_grants_id_seq OWNED BY public.oauth_access_grants.id;
1154
1155
1156 --
1157 -- Name: oauth_access_tokens; Type: TABLE; Schema: public; Owner: -
1158 --
1159
1160 CREATE TABLE public.oauth_access_tokens (
1161     id bigint NOT NULL,
1162     resource_owner_id bigint,
1163     application_id bigint NOT NULL,
1164     token character varying NOT NULL,
1165     refresh_token character varying,
1166     expires_in integer,
1167     revoked_at timestamp without time zone,
1168     created_at timestamp without time zone NOT NULL,
1169     scopes character varying,
1170     previous_refresh_token character varying DEFAULT ''::character varying NOT NULL
1171 );
1172
1173
1174 --
1175 -- Name: oauth_access_tokens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1176 --
1177
1178 CREATE SEQUENCE public.oauth_access_tokens_id_seq
1179     START WITH 1
1180     INCREMENT BY 1
1181     NO MINVALUE
1182     NO MAXVALUE
1183     CACHE 1;
1184
1185
1186 --
1187 -- Name: oauth_access_tokens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1188 --
1189
1190 ALTER SEQUENCE public.oauth_access_tokens_id_seq OWNED BY public.oauth_access_tokens.id;
1191
1192
1193 --
1194 -- Name: oauth_applications; Type: TABLE; Schema: public; Owner: -
1195 --
1196
1197 CREATE TABLE public.oauth_applications (
1198     id bigint NOT NULL,
1199     owner_type character varying NOT NULL,
1200     owner_id bigint NOT NULL,
1201     name character varying NOT NULL,
1202     uid character varying NOT NULL,
1203     secret character varying NOT NULL,
1204     redirect_uri text NOT NULL,
1205     scopes character varying DEFAULT ''::character varying NOT NULL,
1206     confidential boolean DEFAULT true NOT NULL,
1207     created_at timestamp(6) without time zone NOT NULL,
1208     updated_at timestamp(6) without time zone NOT NULL
1209 );
1210
1211
1212 --
1213 -- Name: oauth_applications_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1214 --
1215
1216 CREATE SEQUENCE public.oauth_applications_id_seq
1217     START WITH 1
1218     INCREMENT BY 1
1219     NO MINVALUE
1220     NO MAXVALUE
1221     CACHE 1;
1222
1223
1224 --
1225 -- Name: oauth_applications_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1226 --
1227
1228 ALTER SEQUENCE public.oauth_applications_id_seq OWNED BY public.oauth_applications.id;
1229
1230
1231 --
1232 -- Name: oauth_openid_requests; Type: TABLE; Schema: public; Owner: -
1233 --
1234
1235 CREATE TABLE public.oauth_openid_requests (
1236     id bigint NOT NULL,
1237     access_grant_id bigint NOT NULL,
1238     nonce character varying NOT NULL
1239 );
1240
1241
1242 --
1243 -- Name: oauth_openid_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1244 --
1245
1246 CREATE SEQUENCE public.oauth_openid_requests_id_seq
1247     START WITH 1
1248     INCREMENT BY 1
1249     NO MINVALUE
1250     NO MAXVALUE
1251     CACHE 1;
1252
1253
1254 --
1255 -- Name: oauth_openid_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1256 --
1257
1258 ALTER SEQUENCE public.oauth_openid_requests_id_seq OWNED BY public.oauth_openid_requests.id;
1259
1260
1261 --
1262 -- Name: redactions; Type: TABLE; Schema: public; Owner: -
1263 --
1264
1265 CREATE TABLE public.redactions (
1266     id integer NOT NULL,
1267     title character varying NOT NULL,
1268     description text NOT NULL,
1269     created_at timestamp without time zone,
1270     updated_at timestamp without time zone,
1271     user_id bigint NOT NULL,
1272     description_format public.format_enum DEFAULT 'markdown'::public.format_enum NOT NULL
1273 );
1274
1275
1276 --
1277 -- Name: redactions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1278 --
1279
1280 CREATE SEQUENCE public.redactions_id_seq
1281     AS integer
1282     START WITH 1
1283     INCREMENT BY 1
1284     NO MINVALUE
1285     NO MAXVALUE
1286     CACHE 1;
1287
1288
1289 --
1290 -- Name: redactions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1291 --
1292
1293 ALTER SEQUENCE public.redactions_id_seq OWNED BY public.redactions.id;
1294
1295
1296 --
1297 -- Name: relation_members; Type: TABLE; Schema: public; Owner: -
1298 --
1299
1300 CREATE TABLE public.relation_members (
1301     relation_id bigint NOT NULL,
1302     member_type public.nwr_enum NOT NULL,
1303     member_id bigint NOT NULL,
1304     member_role character varying NOT NULL,
1305     version bigint DEFAULT 0 NOT NULL,
1306     sequence_id integer DEFAULT 0 NOT NULL
1307 );
1308
1309
1310 --
1311 -- Name: relation_tags; Type: TABLE; Schema: public; Owner: -
1312 --
1313
1314 CREATE TABLE public.relation_tags (
1315     relation_id bigint NOT NULL,
1316     k character varying DEFAULT ''::character varying NOT NULL,
1317     v character varying DEFAULT ''::character varying NOT NULL,
1318     version bigint NOT NULL
1319 );
1320
1321
1322 --
1323 -- Name: relations; Type: TABLE; Schema: public; Owner: -
1324 --
1325
1326 CREATE TABLE public.relations (
1327     relation_id bigint NOT NULL,
1328     changeset_id bigint NOT NULL,
1329     "timestamp" timestamp without time zone NOT NULL,
1330     version bigint NOT NULL,
1331     visible boolean DEFAULT true NOT NULL,
1332     redaction_id integer
1333 );
1334
1335
1336 --
1337 -- Name: reports; Type: TABLE; Schema: public; Owner: -
1338 --
1339
1340 CREATE TABLE public.reports (
1341     id integer NOT NULL,
1342     issue_id integer NOT NULL,
1343     user_id integer NOT NULL,
1344     details text NOT NULL,
1345     category character varying NOT NULL,
1346     created_at timestamp without time zone NOT NULL,
1347     updated_at timestamp without time zone NOT NULL
1348 );
1349
1350
1351 --
1352 -- Name: reports_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1353 --
1354
1355 CREATE SEQUENCE public.reports_id_seq
1356     AS integer
1357     START WITH 1
1358     INCREMENT BY 1
1359     NO MINVALUE
1360     NO MAXVALUE
1361     CACHE 1;
1362
1363
1364 --
1365 -- Name: reports_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1366 --
1367
1368 ALTER SEQUENCE public.reports_id_seq OWNED BY public.reports.id;
1369
1370
1371 --
1372 -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
1373 --
1374
1375 CREATE TABLE public.schema_migrations (
1376     version character varying NOT NULL
1377 );
1378
1379
1380 --
1381 -- Name: social_links; Type: TABLE; Schema: public; Owner: -
1382 --
1383
1384 CREATE TABLE public.social_links (
1385     id bigint NOT NULL,
1386     user_id bigint NOT NULL,
1387     url character varying NOT NULL,
1388     created_at timestamp(6) without time zone NOT NULL,
1389     updated_at timestamp(6) without time zone NOT NULL
1390 );
1391
1392
1393 --
1394 -- Name: social_links_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1395 --
1396
1397 CREATE SEQUENCE public.social_links_id_seq
1398     START WITH 1
1399     INCREMENT BY 1
1400     NO MINVALUE
1401     NO MAXVALUE
1402     CACHE 1;
1403
1404
1405 --
1406 -- Name: social_links_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1407 --
1408
1409 ALTER SEQUENCE public.social_links_id_seq OWNED BY public.social_links.id;
1410
1411
1412 --
1413 -- Name: spammy_phrases; Type: TABLE; Schema: public; Owner: -
1414 --
1415
1416 CREATE TABLE public.spammy_phrases (
1417     id bigint NOT NULL,
1418     phrase character varying,
1419     created_at timestamp(6) without time zone NOT NULL,
1420     updated_at timestamp(6) without time zone NOT NULL
1421 );
1422
1423
1424 --
1425 -- Name: spammy_phrases_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1426 --
1427
1428 CREATE SEQUENCE public.spammy_phrases_id_seq
1429     START WITH 1
1430     INCREMENT BY 1
1431     NO MINVALUE
1432     NO MAXVALUE
1433     CACHE 1;
1434
1435
1436 --
1437 -- Name: spammy_phrases_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1438 --
1439
1440 ALTER SEQUENCE public.spammy_phrases_id_seq OWNED BY public.spammy_phrases.id;
1441
1442
1443 --
1444 -- Name: user_blocks; Type: TABLE; Schema: public; Owner: -
1445 --
1446
1447 CREATE TABLE public.user_blocks (
1448     id integer NOT NULL,
1449     user_id bigint NOT NULL,
1450     creator_id bigint NOT NULL,
1451     reason text NOT NULL,
1452     ends_at timestamp without time zone NOT NULL,
1453     needs_view boolean DEFAULT false NOT NULL,
1454     revoker_id bigint,
1455     created_at timestamp without time zone,
1456     updated_at timestamp without time zone,
1457     reason_format public.format_enum DEFAULT 'markdown'::public.format_enum NOT NULL,
1458     deactivates_at timestamp without time zone
1459 );
1460
1461
1462 --
1463 -- Name: user_blocks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1464 --
1465
1466 CREATE SEQUENCE public.user_blocks_id_seq
1467     AS integer
1468     START WITH 1
1469     INCREMENT BY 1
1470     NO MINVALUE
1471     NO MAXVALUE
1472     CACHE 1;
1473
1474
1475 --
1476 -- Name: user_blocks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1477 --
1478
1479 ALTER SEQUENCE public.user_blocks_id_seq OWNED BY public.user_blocks.id;
1480
1481
1482 --
1483 -- Name: user_mutes; Type: TABLE; Schema: public; Owner: -
1484 --
1485
1486 CREATE TABLE public.user_mutes (
1487     id bigint NOT NULL,
1488     owner_id bigint NOT NULL,
1489     subject_id bigint NOT NULL,
1490     created_at timestamp(6) without time zone NOT NULL,
1491     updated_at timestamp(6) without time zone NOT NULL
1492 );
1493
1494
1495 --
1496 -- Name: user_mutes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1497 --
1498
1499 CREATE SEQUENCE public.user_mutes_id_seq
1500     START WITH 1
1501     INCREMENT BY 1
1502     NO MINVALUE
1503     NO MAXVALUE
1504     CACHE 1;
1505
1506
1507 --
1508 -- Name: user_mutes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1509 --
1510
1511 ALTER SEQUENCE public.user_mutes_id_seq OWNED BY public.user_mutes.id;
1512
1513
1514 --
1515 -- Name: user_preferences; Type: TABLE; Schema: public; Owner: -
1516 --
1517
1518 CREATE TABLE public.user_preferences (
1519     user_id bigint NOT NULL,
1520     k character varying NOT NULL,
1521     v character varying NOT NULL
1522 );
1523
1524
1525 --
1526 -- Name: user_roles; Type: TABLE; Schema: public; Owner: -
1527 --
1528
1529 CREATE TABLE public.user_roles (
1530     id integer NOT NULL,
1531     user_id bigint NOT NULL,
1532     role public.user_role_enum NOT NULL,
1533     created_at timestamp without time zone,
1534     updated_at timestamp without time zone,
1535     granter_id bigint NOT NULL
1536 );
1537
1538
1539 --
1540 -- Name: user_roles_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1541 --
1542
1543 CREATE SEQUENCE public.user_roles_id_seq
1544     AS integer
1545     START WITH 1
1546     INCREMENT BY 1
1547     NO MINVALUE
1548     NO MAXVALUE
1549     CACHE 1;
1550
1551
1552 --
1553 -- Name: user_roles_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1554 --
1555
1556 ALTER SEQUENCE public.user_roles_id_seq OWNED BY public.user_roles.id;
1557
1558
1559 --
1560 -- Name: users; Type: TABLE; Schema: public; Owner: -
1561 --
1562
1563 CREATE TABLE public.users (
1564     email character varying NOT NULL,
1565     id bigint NOT NULL,
1566     pass_crypt character varying NOT NULL,
1567     creation_time timestamp without time zone NOT NULL,
1568     display_name character varying DEFAULT ''::character varying NOT NULL,
1569     data_public boolean DEFAULT false NOT NULL,
1570     description text DEFAULT ''::text NOT NULL,
1571     home_lat double precision,
1572     home_lon double precision,
1573     home_zoom smallint DEFAULT 3,
1574     pass_salt character varying,
1575     email_valid boolean DEFAULT false NOT NULL,
1576     new_email character varying,
1577     languages character varying,
1578     status public.user_status_enum DEFAULT 'pending'::public.user_status_enum NOT NULL,
1579     terms_agreed timestamp without time zone,
1580     consider_pd boolean DEFAULT false NOT NULL,
1581     auth_uid character varying,
1582     preferred_editor character varying,
1583     terms_seen boolean DEFAULT false NOT NULL,
1584     description_format public.format_enum DEFAULT 'markdown'::public.format_enum NOT NULL,
1585     changesets_count integer DEFAULT 0 NOT NULL,
1586     traces_count integer DEFAULT 0 NOT NULL,
1587     diary_entries_count integer DEFAULT 0 NOT NULL,
1588     image_use_gravatar boolean DEFAULT false NOT NULL,
1589     auth_provider character varying,
1590     home_tile bigint,
1591     tou_agreed timestamp without time zone,
1592     diary_comments_count integer DEFAULT 0,
1593     note_comments_count integer DEFAULT 0,
1594     creation_address inet,
1595     home_location_name character varying,
1596     company character varying
1597 );
1598
1599
1600 --
1601 -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1602 --
1603
1604 CREATE SEQUENCE public.users_id_seq
1605     START WITH 1
1606     INCREMENT BY 1
1607     NO MINVALUE
1608     NO MAXVALUE
1609     CACHE 1;
1610
1611
1612 --
1613 -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1614 --
1615
1616 ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
1617
1618
1619 --
1620 -- Name: way_nodes; Type: TABLE; Schema: public; Owner: -
1621 --
1622
1623 CREATE TABLE public.way_nodes (
1624     way_id bigint NOT NULL,
1625     node_id bigint NOT NULL,
1626     version bigint NOT NULL,
1627     sequence_id bigint NOT NULL
1628 );
1629
1630
1631 --
1632 -- Name: way_tags; Type: TABLE; Schema: public; Owner: -
1633 --
1634
1635 CREATE TABLE public.way_tags (
1636     way_id bigint NOT NULL,
1637     k character varying NOT NULL,
1638     v character varying NOT NULL,
1639     version bigint NOT NULL
1640 );
1641
1642
1643 --
1644 -- Name: ways; Type: TABLE; Schema: public; Owner: -
1645 --
1646
1647 CREATE TABLE public.ways (
1648     way_id bigint NOT NULL,
1649     changeset_id bigint NOT NULL,
1650     "timestamp" timestamp without time zone NOT NULL,
1651     version bigint NOT NULL,
1652     visible boolean DEFAULT true NOT NULL,
1653     redaction_id integer
1654 );
1655
1656
1657 --
1658 -- Name: acls id; Type: DEFAULT; Schema: public; Owner: -
1659 --
1660
1661 ALTER TABLE ONLY public.acls ALTER COLUMN id SET DEFAULT nextval('public.acls_id_seq'::regclass);
1662
1663
1664 --
1665 -- Name: active_storage_attachments id; Type: DEFAULT; Schema: public; Owner: -
1666 --
1667
1668 ALTER TABLE ONLY public.active_storage_attachments ALTER COLUMN id SET DEFAULT nextval('public.active_storage_attachments_id_seq'::regclass);
1669
1670
1671 --
1672 -- Name: active_storage_blobs id; Type: DEFAULT; Schema: public; Owner: -
1673 --
1674
1675 ALTER TABLE ONLY public.active_storage_blobs ALTER COLUMN id SET DEFAULT nextval('public.active_storage_blobs_id_seq'::regclass);
1676
1677
1678 --
1679 -- Name: active_storage_variant_records id; Type: DEFAULT; Schema: public; Owner: -
1680 --
1681
1682 ALTER TABLE ONLY public.active_storage_variant_records ALTER COLUMN id SET DEFAULT nextval('public.active_storage_variant_records_id_seq'::regclass);
1683
1684
1685 --
1686 -- Name: changeset_comments id; Type: DEFAULT; Schema: public; Owner: -
1687 --
1688
1689 ALTER TABLE ONLY public.changeset_comments ALTER COLUMN id SET DEFAULT nextval('public.changeset_comments_id_seq'::regclass);
1690
1691
1692 --
1693 -- Name: changesets id; Type: DEFAULT; Schema: public; Owner: -
1694 --
1695
1696 ALTER TABLE ONLY public.changesets ALTER COLUMN id SET DEFAULT nextval('public.changesets_id_seq'::regclass);
1697
1698
1699 --
1700 -- Name: current_nodes id; Type: DEFAULT; Schema: public; Owner: -
1701 --
1702
1703 ALTER TABLE ONLY public.current_nodes ALTER COLUMN id SET DEFAULT nextval('public.current_nodes_id_seq'::regclass);
1704
1705
1706 --
1707 -- Name: current_relations id; Type: DEFAULT; Schema: public; Owner: -
1708 --
1709
1710 ALTER TABLE ONLY public.current_relations ALTER COLUMN id SET DEFAULT nextval('public.current_relations_id_seq'::regclass);
1711
1712
1713 --
1714 -- Name: current_ways id; Type: DEFAULT; Schema: public; Owner: -
1715 --
1716
1717 ALTER TABLE ONLY public.current_ways ALTER COLUMN id SET DEFAULT nextval('public.current_ways_id_seq'::regclass);
1718
1719
1720 --
1721 -- Name: delayed_jobs id; Type: DEFAULT; Schema: public; Owner: -
1722 --
1723
1724 ALTER TABLE ONLY public.delayed_jobs ALTER COLUMN id SET DEFAULT nextval('public.delayed_jobs_id_seq'::regclass);
1725
1726
1727 --
1728 -- Name: diary_comments id; Type: DEFAULT; Schema: public; Owner: -
1729 --
1730
1731 ALTER TABLE ONLY public.diary_comments ALTER COLUMN id SET DEFAULT nextval('public.diary_comments_id_seq'::regclass);
1732
1733
1734 --
1735 -- Name: diary_entries id; Type: DEFAULT; Schema: public; Owner: -
1736 --
1737
1738 ALTER TABLE ONLY public.diary_entries ALTER COLUMN id SET DEFAULT nextval('public.diary_entries_id_seq'::regclass);
1739
1740
1741 --
1742 -- Name: friends id; Type: DEFAULT; Schema: public; Owner: -
1743 --
1744
1745 ALTER TABLE ONLY public.friends ALTER COLUMN id SET DEFAULT nextval('public.friends_id_seq'::regclass);
1746
1747
1748 --
1749 -- Name: gpx_file_tags id; Type: DEFAULT; Schema: public; Owner: -
1750 --
1751
1752 ALTER TABLE ONLY public.gpx_file_tags ALTER COLUMN id SET DEFAULT nextval('public.gpx_file_tags_id_seq'::regclass);
1753
1754
1755 --
1756 -- Name: gpx_files id; Type: DEFAULT; Schema: public; Owner: -
1757 --
1758
1759 ALTER TABLE ONLY public.gpx_files ALTER COLUMN id SET DEFAULT nextval('public.gpx_files_id_seq'::regclass);
1760
1761
1762 --
1763 -- Name: issue_comments id; Type: DEFAULT; Schema: public; Owner: -
1764 --
1765
1766 ALTER TABLE ONLY public.issue_comments ALTER COLUMN id SET DEFAULT nextval('public.issue_comments_id_seq'::regclass);
1767
1768
1769 --
1770 -- Name: issues id; Type: DEFAULT; Schema: public; Owner: -
1771 --
1772
1773 ALTER TABLE ONLY public.issues ALTER COLUMN id SET DEFAULT nextval('public.issues_id_seq'::regclass);
1774
1775
1776 --
1777 -- Name: messages id; Type: DEFAULT; Schema: public; Owner: -
1778 --
1779
1780 ALTER TABLE ONLY public.messages ALTER COLUMN id SET DEFAULT nextval('public.messages_id_seq'::regclass);
1781
1782
1783 --
1784 -- Name: note_comments id; Type: DEFAULT; Schema: public; Owner: -
1785 --
1786
1787 ALTER TABLE ONLY public.note_comments ALTER COLUMN id SET DEFAULT nextval('public.note_comments_id_seq'::regclass);
1788
1789
1790 --
1791 -- Name: notes id; Type: DEFAULT; Schema: public; Owner: -
1792 --
1793
1794 ALTER TABLE ONLY public.notes ALTER COLUMN id SET DEFAULT nextval('public.notes_id_seq'::regclass);
1795
1796
1797 --
1798 -- Name: oauth_access_grants id; Type: DEFAULT; Schema: public; Owner: -
1799 --
1800
1801 ALTER TABLE ONLY public.oauth_access_grants ALTER COLUMN id SET DEFAULT nextval('public.oauth_access_grants_id_seq'::regclass);
1802
1803
1804 --
1805 -- Name: oauth_access_tokens id; Type: DEFAULT; Schema: public; Owner: -
1806 --
1807
1808 ALTER TABLE ONLY public.oauth_access_tokens ALTER COLUMN id SET DEFAULT nextval('public.oauth_access_tokens_id_seq'::regclass);
1809
1810
1811 --
1812 -- Name: oauth_applications id; Type: DEFAULT; Schema: public; Owner: -
1813 --
1814
1815 ALTER TABLE ONLY public.oauth_applications ALTER COLUMN id SET DEFAULT nextval('public.oauth_applications_id_seq'::regclass);
1816
1817
1818 --
1819 -- Name: oauth_openid_requests id; Type: DEFAULT; Schema: public; Owner: -
1820 --
1821
1822 ALTER TABLE ONLY public.oauth_openid_requests ALTER COLUMN id SET DEFAULT nextval('public.oauth_openid_requests_id_seq'::regclass);
1823
1824
1825 --
1826 -- Name: redactions id; Type: DEFAULT; Schema: public; Owner: -
1827 --
1828
1829 ALTER TABLE ONLY public.redactions ALTER COLUMN id SET DEFAULT nextval('public.redactions_id_seq'::regclass);
1830
1831
1832 --
1833 -- Name: reports id; Type: DEFAULT; Schema: public; Owner: -
1834 --
1835
1836 ALTER TABLE ONLY public.reports ALTER COLUMN id SET DEFAULT nextval('public.reports_id_seq'::regclass);
1837
1838
1839 --
1840 -- Name: social_links id; Type: DEFAULT; Schema: public; Owner: -
1841 --
1842
1843 ALTER TABLE ONLY public.social_links ALTER COLUMN id SET DEFAULT nextval('public.social_links_id_seq'::regclass);
1844
1845
1846 --
1847 -- Name: spammy_phrases id; Type: DEFAULT; Schema: public; Owner: -
1848 --
1849
1850 ALTER TABLE ONLY public.spammy_phrases ALTER COLUMN id SET DEFAULT nextval('public.spammy_phrases_id_seq'::regclass);
1851
1852
1853 --
1854 -- Name: user_blocks id; Type: DEFAULT; Schema: public; Owner: -
1855 --
1856
1857 ALTER TABLE ONLY public.user_blocks ALTER COLUMN id SET DEFAULT nextval('public.user_blocks_id_seq'::regclass);
1858
1859
1860 --
1861 -- Name: user_mutes id; Type: DEFAULT; Schema: public; Owner: -
1862 --
1863
1864 ALTER TABLE ONLY public.user_mutes ALTER COLUMN id SET DEFAULT nextval('public.user_mutes_id_seq'::regclass);
1865
1866
1867 --
1868 -- Name: user_roles id; Type: DEFAULT; Schema: public; Owner: -
1869 --
1870
1871 ALTER TABLE ONLY public.user_roles ALTER COLUMN id SET DEFAULT nextval('public.user_roles_id_seq'::regclass);
1872
1873
1874 --
1875 -- Name: users id; Type: DEFAULT; Schema: public; Owner: -
1876 --
1877
1878 ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
1879
1880
1881 --
1882 -- Name: acls acls_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1883 --
1884
1885 ALTER TABLE ONLY public.acls
1886     ADD CONSTRAINT acls_pkey PRIMARY KEY (id);
1887
1888
1889 --
1890 -- Name: active_storage_attachments active_storage_attachments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1891 --
1892
1893 ALTER TABLE ONLY public.active_storage_attachments
1894     ADD CONSTRAINT active_storage_attachments_pkey PRIMARY KEY (id);
1895
1896
1897 --
1898 -- Name: active_storage_blobs active_storage_blobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1899 --
1900
1901 ALTER TABLE ONLY public.active_storage_blobs
1902     ADD CONSTRAINT active_storage_blobs_pkey PRIMARY KEY (id);
1903
1904
1905 --
1906 -- Name: active_storage_variant_records active_storage_variant_records_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1907 --
1908
1909 ALTER TABLE ONLY public.active_storage_variant_records
1910     ADD CONSTRAINT active_storage_variant_records_pkey PRIMARY KEY (id);
1911
1912
1913 --
1914 -- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1915 --
1916
1917 ALTER TABLE ONLY public.ar_internal_metadata
1918     ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
1919
1920
1921 --
1922 -- Name: changeset_comments changeset_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1923 --
1924
1925 ALTER TABLE ONLY public.changeset_comments
1926     ADD CONSTRAINT changeset_comments_pkey PRIMARY KEY (id);
1927
1928
1929 --
1930 -- Name: changeset_tags changeset_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1931 --
1932
1933 ALTER TABLE ONLY public.changeset_tags
1934     ADD CONSTRAINT changeset_tags_pkey PRIMARY KEY (changeset_id, k);
1935
1936
1937 --
1938 -- Name: changesets changesets_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1939 --
1940
1941 ALTER TABLE ONLY public.changesets
1942     ADD CONSTRAINT changesets_pkey PRIMARY KEY (id);
1943
1944
1945 --
1946 -- Name: current_node_tags current_node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1947 --
1948
1949 ALTER TABLE ONLY public.current_node_tags
1950     ADD CONSTRAINT current_node_tags_pkey PRIMARY KEY (node_id, k);
1951
1952
1953 --
1954 -- Name: current_nodes current_nodes_pkey1; Type: CONSTRAINT; Schema: public; Owner: -
1955 --
1956
1957 ALTER TABLE ONLY public.current_nodes
1958     ADD CONSTRAINT current_nodes_pkey1 PRIMARY KEY (id);
1959
1960
1961 --
1962 -- Name: current_relation_members current_relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1963 --
1964
1965 ALTER TABLE ONLY public.current_relation_members
1966     ADD CONSTRAINT current_relation_members_pkey PRIMARY KEY (relation_id, sequence_id);
1967
1968
1969 --
1970 -- Name: current_relation_tags current_relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1971 --
1972
1973 ALTER TABLE ONLY public.current_relation_tags
1974     ADD CONSTRAINT current_relation_tags_pkey PRIMARY KEY (relation_id, k);
1975
1976
1977 --
1978 -- Name: current_relations current_relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1979 --
1980
1981 ALTER TABLE ONLY public.current_relations
1982     ADD CONSTRAINT current_relations_pkey PRIMARY KEY (id);
1983
1984
1985 --
1986 -- Name: current_way_nodes current_way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1987 --
1988
1989 ALTER TABLE ONLY public.current_way_nodes
1990     ADD CONSTRAINT current_way_nodes_pkey PRIMARY KEY (way_id, sequence_id);
1991
1992
1993 --
1994 -- Name: current_way_tags current_way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1995 --
1996
1997 ALTER TABLE ONLY public.current_way_tags
1998     ADD CONSTRAINT current_way_tags_pkey PRIMARY KEY (way_id, k);
1999
2000
2001 --
2002 -- Name: current_ways current_ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2003 --
2004
2005 ALTER TABLE ONLY public.current_ways
2006     ADD CONSTRAINT current_ways_pkey PRIMARY KEY (id);
2007
2008
2009 --
2010 -- Name: delayed_jobs delayed_jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2011 --
2012
2013 ALTER TABLE ONLY public.delayed_jobs
2014     ADD CONSTRAINT delayed_jobs_pkey PRIMARY KEY (id);
2015
2016
2017 --
2018 -- Name: diary_comments diary_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2019 --
2020
2021 ALTER TABLE ONLY public.diary_comments
2022     ADD CONSTRAINT diary_comments_pkey PRIMARY KEY (id);
2023
2024
2025 --
2026 -- Name: diary_entries diary_entries_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2027 --
2028
2029 ALTER TABLE ONLY public.diary_entries
2030     ADD CONSTRAINT diary_entries_pkey PRIMARY KEY (id);
2031
2032
2033 --
2034 -- Name: diary_entry_subscriptions diary_entry_subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2035 --
2036
2037 ALTER TABLE ONLY public.diary_entry_subscriptions
2038     ADD CONSTRAINT diary_entry_subscriptions_pkey PRIMARY KEY (user_id, diary_entry_id);
2039
2040
2041 --
2042 -- Name: friends friends_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2043 --
2044
2045 ALTER TABLE ONLY public.friends
2046     ADD CONSTRAINT friends_pkey PRIMARY KEY (id);
2047
2048
2049 --
2050 -- Name: gpx_file_tags gpx_file_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2051 --
2052
2053 ALTER TABLE ONLY public.gpx_file_tags
2054     ADD CONSTRAINT gpx_file_tags_pkey PRIMARY KEY (id);
2055
2056
2057 --
2058 -- Name: gpx_files gpx_files_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2059 --
2060
2061 ALTER TABLE ONLY public.gpx_files
2062     ADD CONSTRAINT gpx_files_pkey PRIMARY KEY (id);
2063
2064
2065 --
2066 -- Name: issue_comments issue_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2067 --
2068
2069 ALTER TABLE ONLY public.issue_comments
2070     ADD CONSTRAINT issue_comments_pkey PRIMARY KEY (id);
2071
2072
2073 --
2074 -- Name: issues issues_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2075 --
2076
2077 ALTER TABLE ONLY public.issues
2078     ADD CONSTRAINT issues_pkey PRIMARY KEY (id);
2079
2080
2081 --
2082 -- Name: languages languages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2083 --
2084
2085 ALTER TABLE ONLY public.languages
2086     ADD CONSTRAINT languages_pkey PRIMARY KEY (code);
2087
2088
2089 --
2090 -- Name: messages messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2091 --
2092
2093 ALTER TABLE ONLY public.messages
2094     ADD CONSTRAINT messages_pkey PRIMARY KEY (id);
2095
2096
2097 --
2098 -- Name: node_tags node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2099 --
2100
2101 ALTER TABLE ONLY public.node_tags
2102     ADD CONSTRAINT node_tags_pkey PRIMARY KEY (node_id, version, k);
2103
2104
2105 --
2106 -- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2107 --
2108
2109 ALTER TABLE ONLY public.nodes
2110     ADD CONSTRAINT nodes_pkey PRIMARY KEY (node_id, version);
2111
2112
2113 --
2114 -- Name: note_comments note_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2115 --
2116
2117 ALTER TABLE ONLY public.note_comments
2118     ADD CONSTRAINT note_comments_pkey PRIMARY KEY (id);
2119
2120
2121 --
2122 -- Name: note_subscriptions note_subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2123 --
2124
2125 ALTER TABLE ONLY public.note_subscriptions
2126     ADD CONSTRAINT note_subscriptions_pkey PRIMARY KEY (user_id, note_id);
2127
2128
2129 --
2130 -- Name: notes notes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2131 --
2132
2133 ALTER TABLE ONLY public.notes
2134     ADD CONSTRAINT notes_pkey PRIMARY KEY (id);
2135
2136
2137 --
2138 -- Name: oauth_access_grants oauth_access_grants_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2139 --
2140
2141 ALTER TABLE ONLY public.oauth_access_grants
2142     ADD CONSTRAINT oauth_access_grants_pkey PRIMARY KEY (id);
2143
2144
2145 --
2146 -- Name: oauth_access_tokens oauth_access_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2147 --
2148
2149 ALTER TABLE ONLY public.oauth_access_tokens
2150     ADD CONSTRAINT oauth_access_tokens_pkey PRIMARY KEY (id);
2151
2152
2153 --
2154 -- Name: oauth_applications oauth_applications_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2155 --
2156
2157 ALTER TABLE ONLY public.oauth_applications
2158     ADD CONSTRAINT oauth_applications_pkey PRIMARY KEY (id);
2159
2160
2161 --
2162 -- Name: oauth_openid_requests oauth_openid_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2163 --
2164
2165 ALTER TABLE ONLY public.oauth_openid_requests
2166     ADD CONSTRAINT oauth_openid_requests_pkey PRIMARY KEY (id);
2167
2168
2169 --
2170 -- Name: redactions redactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2171 --
2172
2173 ALTER TABLE ONLY public.redactions
2174     ADD CONSTRAINT redactions_pkey PRIMARY KEY (id);
2175
2176
2177 --
2178 -- Name: relation_members relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2179 --
2180
2181 ALTER TABLE ONLY public.relation_members
2182     ADD CONSTRAINT relation_members_pkey PRIMARY KEY (relation_id, version, sequence_id);
2183
2184
2185 --
2186 -- Name: relation_tags relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2187 --
2188
2189 ALTER TABLE ONLY public.relation_tags
2190     ADD CONSTRAINT relation_tags_pkey PRIMARY KEY (relation_id, version, k);
2191
2192
2193 --
2194 -- Name: relations relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2195 --
2196
2197 ALTER TABLE ONLY public.relations
2198     ADD CONSTRAINT relations_pkey PRIMARY KEY (relation_id, version);
2199
2200
2201 --
2202 -- Name: reports reports_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2203 --
2204
2205 ALTER TABLE ONLY public.reports
2206     ADD CONSTRAINT reports_pkey PRIMARY KEY (id);
2207
2208
2209 --
2210 -- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2211 --
2212
2213 ALTER TABLE ONLY public.schema_migrations
2214     ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);
2215
2216
2217 --
2218 -- Name: social_links social_links_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2219 --
2220
2221 ALTER TABLE ONLY public.social_links
2222     ADD CONSTRAINT social_links_pkey PRIMARY KEY (id);
2223
2224
2225 --
2226 -- Name: spammy_phrases spammy_phrases_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2227 --
2228
2229 ALTER TABLE ONLY public.spammy_phrases
2230     ADD CONSTRAINT spammy_phrases_pkey PRIMARY KEY (id);
2231
2232
2233 --
2234 -- Name: user_blocks user_blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2235 --
2236
2237 ALTER TABLE ONLY public.user_blocks
2238     ADD CONSTRAINT user_blocks_pkey PRIMARY KEY (id);
2239
2240
2241 --
2242 -- Name: user_mutes user_mutes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2243 --
2244
2245 ALTER TABLE ONLY public.user_mutes
2246     ADD CONSTRAINT user_mutes_pkey PRIMARY KEY (id);
2247
2248
2249 --
2250 -- Name: user_preferences user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2251 --
2252
2253 ALTER TABLE ONLY public.user_preferences
2254     ADD CONSTRAINT user_preferences_pkey PRIMARY KEY (user_id, k);
2255
2256
2257 --
2258 -- Name: user_roles user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2259 --
2260
2261 ALTER TABLE ONLY public.user_roles
2262     ADD CONSTRAINT user_roles_pkey PRIMARY KEY (id);
2263
2264
2265 --
2266 -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2267 --
2268
2269 ALTER TABLE ONLY public.users
2270     ADD CONSTRAINT users_pkey PRIMARY KEY (id);
2271
2272
2273 --
2274 -- Name: way_nodes way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2275 --
2276
2277 ALTER TABLE ONLY public.way_nodes
2278     ADD CONSTRAINT way_nodes_pkey PRIMARY KEY (way_id, version, sequence_id);
2279
2280
2281 --
2282 -- Name: way_tags way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2283 --
2284
2285 ALTER TABLE ONLY public.way_tags
2286     ADD CONSTRAINT way_tags_pkey PRIMARY KEY (way_id, version, k);
2287
2288
2289 --
2290 -- Name: ways ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2291 --
2292
2293 ALTER TABLE ONLY public.ways
2294     ADD CONSTRAINT ways_pkey PRIMARY KEY (way_id, version);
2295
2296
2297 --
2298 -- Name: acls_k_idx; Type: INDEX; Schema: public; Owner: -
2299 --
2300
2301 CREATE INDEX acls_k_idx ON public.acls USING btree (k);
2302
2303
2304 --
2305 -- Name: changesets_bbox_idx; Type: INDEX; Schema: public; Owner: -
2306 --
2307
2308 CREATE INDEX changesets_bbox_idx ON public.changesets USING gist (min_lat, max_lat, min_lon, max_lon);
2309
2310
2311 --
2312 -- Name: changesets_closed_at_idx; Type: INDEX; Schema: public; Owner: -
2313 --
2314
2315 CREATE INDEX changesets_closed_at_idx ON public.changesets USING btree (closed_at);
2316
2317
2318 --
2319 -- Name: changesets_created_at_idx; Type: INDEX; Schema: public; Owner: -
2320 --
2321
2322 CREATE INDEX changesets_created_at_idx ON public.changesets USING btree (created_at);
2323
2324
2325 --
2326 -- Name: changesets_user_id_created_at_idx; Type: INDEX; Schema: public; Owner: -
2327 --
2328
2329 CREATE INDEX changesets_user_id_created_at_idx ON public.changesets USING btree (user_id, created_at);
2330
2331
2332 --
2333 -- Name: changesets_user_id_id_idx; Type: INDEX; Schema: public; Owner: -
2334 --
2335
2336 CREATE INDEX changesets_user_id_id_idx ON public.changesets USING btree (user_id, id);
2337
2338
2339 --
2340 -- Name: current_nodes_tile_idx; Type: INDEX; Schema: public; Owner: -
2341 --
2342
2343 CREATE INDEX current_nodes_tile_idx ON public.current_nodes USING btree (tile);
2344
2345
2346 --
2347 -- Name: current_nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2348 --
2349
2350 CREATE INDEX current_nodes_timestamp_idx ON public.current_nodes USING btree ("timestamp");
2351
2352
2353 --
2354 -- Name: current_relation_members_member_idx; Type: INDEX; Schema: public; Owner: -
2355 --
2356
2357 CREATE INDEX current_relation_members_member_idx ON public.current_relation_members USING btree (member_type, member_id);
2358
2359
2360 --
2361 -- Name: current_relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2362 --
2363
2364 CREATE INDEX current_relations_timestamp_idx ON public.current_relations USING btree ("timestamp");
2365
2366
2367 --
2368 -- Name: current_way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -
2369 --
2370
2371 CREATE INDEX current_way_nodes_node_idx ON public.current_way_nodes USING btree (node_id);
2372
2373
2374 --
2375 -- Name: current_ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2376 --
2377
2378 CREATE INDEX current_ways_timestamp_idx ON public.current_ways USING btree ("timestamp");
2379
2380
2381 --
2382 -- Name: delayed_jobs_priority; Type: INDEX; Schema: public; Owner: -
2383 --
2384
2385 CREATE INDEX delayed_jobs_priority ON public.delayed_jobs USING btree (priority, run_at);
2386
2387
2388 --
2389 -- Name: diary_comment_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
2390 --
2391
2392 CREATE INDEX diary_comment_user_id_created_at_index ON public.diary_comments USING btree (user_id, created_at);
2393
2394
2395 --
2396 -- Name: diary_comments_entry_id_idx; Type: INDEX; Schema: public; Owner: -
2397 --
2398
2399 CREATE UNIQUE INDEX diary_comments_entry_id_idx ON public.diary_comments USING btree (diary_entry_id, id);
2400
2401
2402 --
2403 -- Name: diary_entry_created_at_index; Type: INDEX; Schema: public; Owner: -
2404 --
2405
2406 CREATE INDEX diary_entry_created_at_index ON public.diary_entries USING btree (created_at);
2407
2408
2409 --
2410 -- Name: diary_entry_language_code_created_at_index; Type: INDEX; Schema: public; Owner: -
2411 --
2412
2413 CREATE INDEX diary_entry_language_code_created_at_index ON public.diary_entries USING btree (language_code, created_at);
2414
2415
2416 --
2417 -- Name: diary_entry_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
2418 --
2419
2420 CREATE INDEX diary_entry_user_id_created_at_index ON public.diary_entries USING btree (user_id, created_at);
2421
2422
2423 --
2424 -- Name: gpx_file_tags_gpxid_idx; Type: INDEX; Schema: public; Owner: -
2425 --
2426
2427 CREATE INDEX gpx_file_tags_gpxid_idx ON public.gpx_file_tags USING btree (gpx_id);
2428
2429
2430 --
2431 -- Name: gpx_file_tags_tag_idx; Type: INDEX; Schema: public; Owner: -
2432 --
2433
2434 CREATE INDEX gpx_file_tags_tag_idx ON public.gpx_file_tags USING btree (tag);
2435
2436
2437 --
2438 -- Name: gpx_files_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2439 --
2440
2441 CREATE INDEX gpx_files_timestamp_idx ON public.gpx_files USING btree ("timestamp");
2442
2443
2444 --
2445 -- Name: gpx_files_user_id_idx; Type: INDEX; Schema: public; Owner: -
2446 --
2447
2448 CREATE INDEX gpx_files_user_id_idx ON public.gpx_files USING btree (user_id);
2449
2450
2451 --
2452 -- Name: gpx_files_visible_visibility_idx; Type: INDEX; Schema: public; Owner: -
2453 --
2454
2455 CREATE INDEX gpx_files_visible_visibility_idx ON public.gpx_files USING btree (visible, visibility);
2456
2457
2458 --
2459 -- Name: index_acls_on_address; Type: INDEX; Schema: public; Owner: -
2460 --
2461
2462 CREATE INDEX index_acls_on_address ON public.acls USING gist (address inet_ops);
2463
2464
2465 --
2466 -- Name: index_acls_on_domain; Type: INDEX; Schema: public; Owner: -
2467 --
2468
2469 CREATE INDEX index_acls_on_domain ON public.acls USING btree (domain);
2470
2471
2472 --
2473 -- Name: index_acls_on_mx; Type: INDEX; Schema: public; Owner: -
2474 --
2475
2476 CREATE INDEX index_acls_on_mx ON public.acls USING btree (mx);
2477
2478
2479 --
2480 -- Name: index_active_storage_attachments_on_blob_id; Type: INDEX; Schema: public; Owner: -
2481 --
2482
2483 CREATE INDEX index_active_storage_attachments_on_blob_id ON public.active_storage_attachments USING btree (blob_id);
2484
2485
2486 --
2487 -- Name: index_active_storage_attachments_uniqueness; Type: INDEX; Schema: public; Owner: -
2488 --
2489
2490 CREATE UNIQUE INDEX index_active_storage_attachments_uniqueness ON public.active_storage_attachments USING btree (record_type, record_id, name, blob_id);
2491
2492
2493 --
2494 -- Name: index_active_storage_blobs_on_key; Type: INDEX; Schema: public; Owner: -
2495 --
2496
2497 CREATE UNIQUE INDEX index_active_storage_blobs_on_key ON public.active_storage_blobs USING btree (key);
2498
2499
2500 --
2501 -- Name: index_active_storage_variant_records_uniqueness; Type: INDEX; Schema: public; Owner: -
2502 --
2503
2504 CREATE UNIQUE INDEX index_active_storage_variant_records_uniqueness ON public.active_storage_variant_records USING btree (blob_id, variation_digest);
2505
2506
2507 --
2508 -- Name: index_changeset_comments_on_author_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2509 --
2510
2511 CREATE INDEX index_changeset_comments_on_author_id_and_created_at ON public.changeset_comments USING btree (author_id, created_at);
2512
2513
2514 --
2515 -- Name: index_changeset_comments_on_author_id_and_id; Type: INDEX; Schema: public; Owner: -
2516 --
2517
2518 CREATE INDEX index_changeset_comments_on_author_id_and_id ON public.changeset_comments USING btree (author_id, id);
2519
2520
2521 --
2522 -- Name: index_changeset_comments_on_changeset_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2523 --
2524
2525 CREATE INDEX index_changeset_comments_on_changeset_id_and_created_at ON public.changeset_comments USING btree (changeset_id, created_at);
2526
2527
2528 --
2529 -- Name: index_changeset_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
2530 --
2531
2532 CREATE INDEX index_changeset_comments_on_created_at ON public.changeset_comments USING btree (created_at);
2533
2534
2535 --
2536 -- Name: index_changesets_on_user_id_and_closed_at; Type: INDEX; Schema: public; Owner: -
2537 --
2538
2539 CREATE INDEX index_changesets_on_user_id_and_closed_at ON public.changesets USING btree (user_id, closed_at);
2540
2541
2542 --
2543 -- Name: index_changesets_subscribers_on_changeset_id; Type: INDEX; Schema: public; Owner: -
2544 --
2545
2546 CREATE INDEX index_changesets_subscribers_on_changeset_id ON public.changesets_subscribers USING btree (changeset_id);
2547
2548
2549 --
2550 -- Name: index_changesets_subscribers_on_subscriber_id_and_changeset_id; Type: INDEX; Schema: public; Owner: -
2551 --
2552
2553 CREATE UNIQUE INDEX index_changesets_subscribers_on_subscriber_id_and_changeset_id ON public.changesets_subscribers USING btree (subscriber_id, changeset_id);
2554
2555
2556 --
2557 -- Name: index_diary_comments_on_user_id_and_id; Type: INDEX; Schema: public; Owner: -
2558 --
2559
2560 CREATE INDEX index_diary_comments_on_user_id_and_id ON public.diary_comments USING btree (user_id, id);
2561
2562
2563 --
2564 -- Name: index_diary_entry_subscriptions_on_diary_entry_id; Type: INDEX; Schema: public; Owner: -
2565 --
2566
2567 CREATE INDEX index_diary_entry_subscriptions_on_diary_entry_id ON public.diary_entry_subscriptions USING btree (diary_entry_id);
2568
2569
2570 --
2571 -- Name: index_friends_on_user_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2572 --
2573
2574 CREATE INDEX index_friends_on_user_id_and_created_at ON public.friends USING btree (user_id, created_at);
2575
2576
2577 --
2578 -- Name: index_gpx_files_on_user_id_and_id; Type: INDEX; Schema: public; Owner: -
2579 --
2580
2581 CREATE INDEX index_gpx_files_on_user_id_and_id ON public.gpx_files USING btree (user_id, id);
2582
2583
2584 --
2585 -- Name: index_issue_comments_on_issue_id; Type: INDEX; Schema: public; Owner: -
2586 --
2587
2588 CREATE INDEX index_issue_comments_on_issue_id ON public.issue_comments USING btree (issue_id);
2589
2590
2591 --
2592 -- Name: index_issue_comments_on_user_id; Type: INDEX; Schema: public; Owner: -
2593 --
2594
2595 CREATE INDEX index_issue_comments_on_user_id ON public.issue_comments USING btree (user_id);
2596
2597
2598 --
2599 -- Name: index_issues_on_assigned_role; Type: INDEX; Schema: public; Owner: -
2600 --
2601
2602 CREATE INDEX index_issues_on_assigned_role ON public.issues USING btree (assigned_role);
2603
2604
2605 --
2606 -- Name: index_issues_on_reportable_type_and_reportable_id; Type: INDEX; Schema: public; Owner: -
2607 --
2608
2609 CREATE INDEX index_issues_on_reportable_type_and_reportable_id ON public.issues USING btree (reportable_type, reportable_id);
2610
2611
2612 --
2613 -- Name: index_issues_on_reported_user_id; Type: INDEX; Schema: public; Owner: -
2614 --
2615
2616 CREATE INDEX index_issues_on_reported_user_id ON public.issues USING btree (reported_user_id);
2617
2618
2619 --
2620 -- Name: index_issues_on_status; Type: INDEX; Schema: public; Owner: -
2621 --
2622
2623 CREATE INDEX index_issues_on_status ON public.issues USING btree (status);
2624
2625
2626 --
2627 -- Name: index_issues_on_updated_by; Type: INDEX; Schema: public; Owner: -
2628 --
2629
2630 CREATE INDEX index_issues_on_updated_by ON public.issues USING btree (updated_by);
2631
2632
2633 --
2634 -- Name: index_note_comments_on_author_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2635 --
2636
2637 CREATE INDEX index_note_comments_on_author_id_and_created_at ON public.note_comments USING btree (author_id, created_at);
2638
2639
2640 --
2641 -- Name: index_note_comments_on_body; Type: INDEX; Schema: public; Owner: -
2642 --
2643
2644 CREATE INDEX index_note_comments_on_body ON public.note_comments USING gin (to_tsvector('english'::regconfig, body));
2645
2646
2647 --
2648 -- Name: index_note_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
2649 --
2650
2651 CREATE INDEX index_note_comments_on_created_at ON public.note_comments USING btree (created_at);
2652
2653
2654 --
2655 -- Name: index_note_subscriptions_on_note_id; Type: INDEX; Schema: public; Owner: -
2656 --
2657
2658 CREATE INDEX index_note_subscriptions_on_note_id ON public.note_subscriptions USING btree (note_id);
2659
2660
2661 --
2662 -- Name: index_notes_on_description; Type: INDEX; Schema: public; Owner: -
2663 --
2664
2665 CREATE INDEX index_notes_on_description ON public.notes USING gin (to_tsvector('english'::regconfig, description));
2666
2667
2668 --
2669 -- Name: index_notes_on_user_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2670 --
2671
2672 CREATE INDEX index_notes_on_user_id_and_created_at ON public.notes USING btree (user_id, created_at) WHERE (user_id IS NOT NULL);
2673
2674
2675 --
2676 -- Name: index_oauth_access_grants_on_application_id; Type: INDEX; Schema: public; Owner: -
2677 --
2678
2679 CREATE INDEX index_oauth_access_grants_on_application_id ON public.oauth_access_grants USING btree (application_id);
2680
2681
2682 --
2683 -- Name: index_oauth_access_grants_on_resource_owner_id; Type: INDEX; Schema: public; Owner: -
2684 --
2685
2686 CREATE INDEX index_oauth_access_grants_on_resource_owner_id ON public.oauth_access_grants USING btree (resource_owner_id);
2687
2688
2689 --
2690 -- Name: index_oauth_access_grants_on_token; Type: INDEX; Schema: public; Owner: -
2691 --
2692
2693 CREATE UNIQUE INDEX index_oauth_access_grants_on_token ON public.oauth_access_grants USING btree (token);
2694
2695
2696 --
2697 -- Name: index_oauth_access_tokens_on_application_id; Type: INDEX; Schema: public; Owner: -
2698 --
2699
2700 CREATE INDEX index_oauth_access_tokens_on_application_id ON public.oauth_access_tokens USING btree (application_id);
2701
2702
2703 --
2704 -- Name: index_oauth_access_tokens_on_refresh_token; Type: INDEX; Schema: public; Owner: -
2705 --
2706
2707 CREATE UNIQUE INDEX index_oauth_access_tokens_on_refresh_token ON public.oauth_access_tokens USING btree (refresh_token);
2708
2709
2710 --
2711 -- Name: index_oauth_access_tokens_on_resource_owner_id; Type: INDEX; Schema: public; Owner: -
2712 --
2713
2714 CREATE INDEX index_oauth_access_tokens_on_resource_owner_id ON public.oauth_access_tokens USING btree (resource_owner_id);
2715
2716
2717 --
2718 -- Name: index_oauth_access_tokens_on_token; Type: INDEX; Schema: public; Owner: -
2719 --
2720
2721 CREATE UNIQUE INDEX index_oauth_access_tokens_on_token ON public.oauth_access_tokens USING btree (token);
2722
2723
2724 --
2725 -- Name: index_oauth_applications_on_owner_type_and_owner_id; Type: INDEX; Schema: public; Owner: -
2726 --
2727
2728 CREATE INDEX index_oauth_applications_on_owner_type_and_owner_id ON public.oauth_applications USING btree (owner_type, owner_id);
2729
2730
2731 --
2732 -- Name: index_oauth_applications_on_uid; Type: INDEX; Schema: public; Owner: -
2733 --
2734
2735 CREATE UNIQUE INDEX index_oauth_applications_on_uid ON public.oauth_applications USING btree (uid);
2736
2737
2738 --
2739 -- Name: index_oauth_openid_requests_on_access_grant_id; Type: INDEX; Schema: public; Owner: -
2740 --
2741
2742 CREATE INDEX index_oauth_openid_requests_on_access_grant_id ON public.oauth_openid_requests USING btree (access_grant_id);
2743
2744
2745 --
2746 -- Name: index_reports_on_issue_id; Type: INDEX; Schema: public; Owner: -
2747 --
2748
2749 CREATE INDEX index_reports_on_issue_id ON public.reports USING btree (issue_id);
2750
2751
2752 --
2753 -- Name: index_reports_on_user_id; Type: INDEX; Schema: public; Owner: -
2754 --
2755
2756 CREATE INDEX index_reports_on_user_id ON public.reports USING btree (user_id);
2757
2758
2759 --
2760 -- Name: index_social_links_on_user_id; Type: INDEX; Schema: public; Owner: -
2761 --
2762
2763 CREATE INDEX index_social_links_on_user_id ON public.social_links USING btree (user_id);
2764
2765
2766 --
2767 -- Name: index_user_blocks_on_creator_id_and_id; Type: INDEX; Schema: public; Owner: -
2768 --
2769
2770 CREATE INDEX index_user_blocks_on_creator_id_and_id ON public.user_blocks USING btree (creator_id, id);
2771
2772
2773 --
2774 -- Name: index_user_blocks_on_user_id; Type: INDEX; Schema: public; Owner: -
2775 --
2776
2777 CREATE INDEX index_user_blocks_on_user_id ON public.user_blocks USING btree (user_id);
2778
2779
2780 --
2781 -- Name: index_user_mutes_on_owner_id_and_subject_id; Type: INDEX; Schema: public; Owner: -
2782 --
2783
2784 CREATE UNIQUE INDEX index_user_mutes_on_owner_id_and_subject_id ON public.user_mutes USING btree (owner_id, subject_id);
2785
2786
2787 --
2788 -- Name: index_users_on_creation_address; Type: INDEX; Schema: public; Owner: -
2789 --
2790
2791 CREATE INDEX index_users_on_creation_address ON public.users USING gist (creation_address inet_ops);
2792
2793
2794 --
2795 -- Name: messages_from_user_id_idx; Type: INDEX; Schema: public; Owner: -
2796 --
2797
2798 CREATE INDEX messages_from_user_id_idx ON public.messages USING btree (from_user_id);
2799
2800
2801 --
2802 -- Name: messages_to_user_id_idx; Type: INDEX; Schema: public; Owner: -
2803 --
2804
2805 CREATE INDEX messages_to_user_id_idx ON public.messages USING btree (to_user_id);
2806
2807
2808 --
2809 -- Name: nodes_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
2810 --
2811
2812 CREATE INDEX nodes_changeset_id_idx ON public.nodes USING btree (changeset_id);
2813
2814
2815 --
2816 -- Name: nodes_tile_idx; Type: INDEX; Schema: public; Owner: -
2817 --
2818
2819 CREATE INDEX nodes_tile_idx ON public.nodes USING btree (tile);
2820
2821
2822 --
2823 -- Name: nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2824 --
2825
2826 CREATE INDEX nodes_timestamp_idx ON public.nodes USING btree ("timestamp");
2827
2828
2829 --
2830 -- Name: note_comments_note_id_idx; Type: INDEX; Schema: public; Owner: -
2831 --
2832
2833 CREATE INDEX note_comments_note_id_idx ON public.note_comments USING btree (note_id);
2834
2835
2836 --
2837 -- Name: notes_created_at_idx; Type: INDEX; Schema: public; Owner: -
2838 --
2839
2840 CREATE INDEX notes_created_at_idx ON public.notes USING btree (created_at);
2841
2842
2843 --
2844 -- Name: notes_tile_status_idx; Type: INDEX; Schema: public; Owner: -
2845 --
2846
2847 CREATE INDEX notes_tile_status_idx ON public.notes USING btree (tile, status);
2848
2849
2850 --
2851 -- Name: notes_updated_at_idx; Type: INDEX; Schema: public; Owner: -
2852 --
2853
2854 CREATE INDEX notes_updated_at_idx ON public.notes USING btree (updated_at);
2855
2856
2857 --
2858 -- Name: points_gpxid_idx; Type: INDEX; Schema: public; Owner: -
2859 --
2860
2861 CREATE INDEX points_gpxid_idx ON public.gps_points USING btree (gpx_id);
2862
2863
2864 --
2865 -- Name: points_tile_idx; Type: INDEX; Schema: public; Owner: -
2866 --
2867
2868 CREATE INDEX points_tile_idx ON public.gps_points USING btree (tile);
2869
2870
2871 --
2872 -- Name: relation_members_member_idx; Type: INDEX; Schema: public; Owner: -
2873 --
2874
2875 CREATE INDEX relation_members_member_idx ON public.relation_members USING btree (member_type, member_id);
2876
2877
2878 --
2879 -- Name: relations_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
2880 --
2881
2882 CREATE INDEX relations_changeset_id_idx ON public.relations USING btree (changeset_id);
2883
2884
2885 --
2886 -- Name: relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2887 --
2888
2889 CREATE INDEX relations_timestamp_idx ON public.relations USING btree ("timestamp");
2890
2891
2892 --
2893 -- Name: user_id_idx; Type: INDEX; Schema: public; Owner: -
2894 --
2895
2896 CREATE INDEX user_id_idx ON public.friends USING btree (friend_user_id);
2897
2898
2899 --
2900 -- Name: user_roles_id_role_unique; Type: INDEX; Schema: public; Owner: -
2901 --
2902
2903 CREATE UNIQUE INDEX user_roles_id_role_unique ON public.user_roles USING btree (user_id, role);
2904
2905
2906 --
2907 -- Name: users_auth_idx; Type: INDEX; Schema: public; Owner: -
2908 --
2909
2910 CREATE UNIQUE INDEX users_auth_idx ON public.users USING btree (auth_provider, auth_uid);
2911
2912
2913 --
2914 -- Name: users_display_name_canonical_idx; Type: INDEX; Schema: public; Owner: -
2915 --
2916
2917 CREATE INDEX users_display_name_canonical_idx ON public.users USING btree (lower(NORMALIZE(display_name, NFKC)));
2918
2919
2920 --
2921 -- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -
2922 --
2923
2924 CREATE UNIQUE INDEX users_display_name_idx ON public.users USING btree (display_name);
2925
2926
2927 --
2928 -- Name: users_email_idx; Type: INDEX; Schema: public; Owner: -
2929 --
2930
2931 CREATE UNIQUE INDEX users_email_idx ON public.users USING btree (email);
2932
2933
2934 --
2935 -- Name: users_email_lower_idx; Type: INDEX; Schema: public; Owner: -
2936 --
2937
2938 CREATE INDEX users_email_lower_idx ON public.users USING btree (lower((email)::text));
2939
2940
2941 --
2942 -- Name: users_home_idx; Type: INDEX; Schema: public; Owner: -
2943 --
2944
2945 CREATE INDEX users_home_idx ON public.users USING btree (home_tile);
2946
2947
2948 --
2949 -- Name: way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -
2950 --
2951
2952 CREATE INDEX way_nodes_node_idx ON public.way_nodes USING btree (node_id);
2953
2954
2955 --
2956 -- Name: ways_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
2957 --
2958
2959 CREATE INDEX ways_changeset_id_idx ON public.ways USING btree (changeset_id);
2960
2961
2962 --
2963 -- Name: ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2964 --
2965
2966 CREATE INDEX ways_timestamp_idx ON public.ways USING btree ("timestamp");
2967
2968
2969 --
2970 -- Name: changeset_comments changeset_comments_author_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2971 --
2972
2973 ALTER TABLE ONLY public.changeset_comments
2974     ADD CONSTRAINT changeset_comments_author_id_fkey FOREIGN KEY (author_id) REFERENCES public.users(id);
2975
2976
2977 --
2978 -- Name: changeset_comments changeset_comments_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2979 --
2980
2981 ALTER TABLE ONLY public.changeset_comments
2982     ADD CONSTRAINT changeset_comments_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
2983
2984
2985 --
2986 -- Name: changeset_tags changeset_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2987 --
2988
2989 ALTER TABLE ONLY public.changeset_tags
2990     ADD CONSTRAINT changeset_tags_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
2991
2992
2993 --
2994 -- Name: changesets_subscribers changesets_subscribers_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2995 --
2996
2997 ALTER TABLE ONLY public.changesets_subscribers
2998     ADD CONSTRAINT changesets_subscribers_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
2999
3000
3001 --
3002 -- Name: changesets_subscribers changesets_subscribers_subscriber_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3003 --
3004
3005 ALTER TABLE ONLY public.changesets_subscribers
3006     ADD CONSTRAINT changesets_subscribers_subscriber_id_fkey FOREIGN KEY (subscriber_id) REFERENCES public.users(id);
3007
3008
3009 --
3010 -- Name: changesets changesets_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3011 --
3012
3013 ALTER TABLE ONLY public.changesets
3014     ADD CONSTRAINT changesets_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3015
3016
3017 --
3018 -- Name: current_node_tags current_node_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3019 --
3020
3021 ALTER TABLE ONLY public.current_node_tags
3022     ADD CONSTRAINT current_node_tags_id_fkey FOREIGN KEY (node_id) REFERENCES public.current_nodes(id);
3023
3024
3025 --
3026 -- Name: current_nodes current_nodes_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3027 --
3028
3029 ALTER TABLE ONLY public.current_nodes
3030     ADD CONSTRAINT current_nodes_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3031
3032
3033 --
3034 -- Name: current_relation_members current_relation_members_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3035 --
3036
3037 ALTER TABLE ONLY public.current_relation_members
3038     ADD CONSTRAINT current_relation_members_id_fkey FOREIGN KEY (relation_id) REFERENCES public.current_relations(id);
3039
3040
3041 --
3042 -- Name: current_relation_tags current_relation_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3043 --
3044
3045 ALTER TABLE ONLY public.current_relation_tags
3046     ADD CONSTRAINT current_relation_tags_id_fkey FOREIGN KEY (relation_id) REFERENCES public.current_relations(id);
3047
3048
3049 --
3050 -- Name: current_relations current_relations_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3051 --
3052
3053 ALTER TABLE ONLY public.current_relations
3054     ADD CONSTRAINT current_relations_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3055
3056
3057 --
3058 -- Name: current_way_nodes current_way_nodes_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3059 --
3060
3061 ALTER TABLE ONLY public.current_way_nodes
3062     ADD CONSTRAINT current_way_nodes_id_fkey FOREIGN KEY (way_id) REFERENCES public.current_ways(id);
3063
3064
3065 --
3066 -- Name: current_way_nodes current_way_nodes_node_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3067 --
3068
3069 ALTER TABLE ONLY public.current_way_nodes
3070     ADD CONSTRAINT current_way_nodes_node_id_fkey FOREIGN KEY (node_id) REFERENCES public.current_nodes(id);
3071
3072
3073 --
3074 -- Name: current_way_tags current_way_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3075 --
3076
3077 ALTER TABLE ONLY public.current_way_tags
3078     ADD CONSTRAINT current_way_tags_id_fkey FOREIGN KEY (way_id) REFERENCES public.current_ways(id);
3079
3080
3081 --
3082 -- Name: current_ways current_ways_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3083 --
3084
3085 ALTER TABLE ONLY public.current_ways
3086     ADD CONSTRAINT current_ways_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3087
3088
3089 --
3090 -- Name: diary_comments diary_comments_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3091 --
3092
3093 ALTER TABLE ONLY public.diary_comments
3094     ADD CONSTRAINT diary_comments_diary_entry_id_fkey FOREIGN KEY (diary_entry_id) REFERENCES public.diary_entries(id);
3095
3096
3097 --
3098 -- Name: diary_comments diary_comments_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3099 --
3100
3101 ALTER TABLE ONLY public.diary_comments
3102     ADD CONSTRAINT diary_comments_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3103
3104
3105 --
3106 -- Name: diary_entries diary_entries_language_code_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3107 --
3108
3109 ALTER TABLE ONLY public.diary_entries
3110     ADD CONSTRAINT diary_entries_language_code_fkey FOREIGN KEY (language_code) REFERENCES public.languages(code);
3111
3112
3113 --
3114 -- Name: diary_entries diary_entries_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3115 --
3116
3117 ALTER TABLE ONLY public.diary_entries
3118     ADD CONSTRAINT diary_entries_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3119
3120
3121 --
3122 -- Name: diary_entry_subscriptions diary_entry_subscriptions_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3123 --
3124
3125 ALTER TABLE ONLY public.diary_entry_subscriptions
3126     ADD CONSTRAINT diary_entry_subscriptions_diary_entry_id_fkey FOREIGN KEY (diary_entry_id) REFERENCES public.diary_entries(id);
3127
3128
3129 --
3130 -- Name: diary_entry_subscriptions diary_entry_subscriptions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3131 --
3132
3133 ALTER TABLE ONLY public.diary_entry_subscriptions
3134     ADD CONSTRAINT diary_entry_subscriptions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3135
3136
3137 --
3138 -- Name: note_subscriptions fk_rails_2c1913f293; Type: FK CONSTRAINT; Schema: public; Owner: -
3139 --
3140
3141 ALTER TABLE ONLY public.note_subscriptions
3142     ADD CONSTRAINT fk_rails_2c1913f293 FOREIGN KEY (note_id) REFERENCES public.notes(id);
3143
3144
3145 --
3146 -- Name: oauth_access_grants fk_rails_330c32d8d9; Type: FK CONSTRAINT; Schema: public; Owner: -
3147 --
3148
3149 ALTER TABLE ONLY public.oauth_access_grants
3150     ADD CONSTRAINT fk_rails_330c32d8d9 FOREIGN KEY (resource_owner_id) REFERENCES public.users(id) NOT VALID;
3151
3152
3153 --
3154 -- Name: user_mutes fk_rails_591dad3359; Type: FK CONSTRAINT; Schema: public; Owner: -
3155 --
3156
3157 ALTER TABLE ONLY public.user_mutes
3158     ADD CONSTRAINT fk_rails_591dad3359 FOREIGN KEY (owner_id) REFERENCES public.users(id);
3159
3160
3161 --
3162 -- Name: social_links fk_rails_6034fd4f62; Type: FK CONSTRAINT; Schema: public; Owner: -
3163 --
3164
3165 ALTER TABLE ONLY public.social_links
3166     ADD CONSTRAINT fk_rails_6034fd4f62 FOREIGN KEY (user_id) REFERENCES public.users(id);
3167
3168
3169 --
3170 -- Name: oauth_access_tokens fk_rails_732cb83ab7; Type: FK CONSTRAINT; Schema: public; Owner: -
3171 --
3172
3173 ALTER TABLE ONLY public.oauth_access_tokens
3174     ADD CONSTRAINT fk_rails_732cb83ab7 FOREIGN KEY (application_id) REFERENCES public.oauth_applications(id) NOT VALID;
3175
3176
3177 --
3178 -- Name: oauth_openid_requests fk_rails_77114b3b09; Type: FK CONSTRAINT; Schema: public; Owner: -
3179 --
3180
3181 ALTER TABLE ONLY public.oauth_openid_requests
3182     ADD CONSTRAINT fk_rails_77114b3b09 FOREIGN KEY (access_grant_id) REFERENCES public.oauth_access_grants(id) ON DELETE CASCADE;
3183
3184
3185 --
3186 -- Name: active_storage_variant_records fk_rails_993965df05; Type: FK CONSTRAINT; Schema: public; Owner: -
3187 --
3188
3189 ALTER TABLE ONLY public.active_storage_variant_records
3190     ADD CONSTRAINT fk_rails_993965df05 FOREIGN KEY (blob_id) REFERENCES public.active_storage_blobs(id);
3191
3192
3193 --
3194 -- Name: note_subscriptions fk_rails_a352f4eced; Type: FK CONSTRAINT; Schema: public; Owner: -
3195 --
3196
3197 ALTER TABLE ONLY public.note_subscriptions
3198     ADD CONSTRAINT fk_rails_a352f4eced FOREIGN KEY (user_id) REFERENCES public.users(id);
3199
3200
3201 --
3202 -- Name: oauth_access_grants fk_rails_b4b53e07b8; Type: FK CONSTRAINT; Schema: public; Owner: -
3203 --
3204
3205 ALTER TABLE ONLY public.oauth_access_grants
3206     ADD CONSTRAINT fk_rails_b4b53e07b8 FOREIGN KEY (application_id) REFERENCES public.oauth_applications(id) NOT VALID;
3207
3208
3209 --
3210 -- Name: active_storage_attachments fk_rails_c3b3935057; Type: FK CONSTRAINT; Schema: public; Owner: -
3211 --
3212
3213 ALTER TABLE ONLY public.active_storage_attachments
3214     ADD CONSTRAINT fk_rails_c3b3935057 FOREIGN KEY (blob_id) REFERENCES public.active_storage_blobs(id);
3215
3216
3217 --
3218 -- Name: oauth_applications fk_rails_cc886e315a; Type: FK CONSTRAINT; Schema: public; Owner: -
3219 --
3220
3221 ALTER TABLE ONLY public.oauth_applications
3222     ADD CONSTRAINT fk_rails_cc886e315a FOREIGN KEY (owner_id) REFERENCES public.users(id) NOT VALID;
3223
3224
3225 --
3226 -- Name: user_mutes fk_rails_e9dd4fb6c3; Type: FK CONSTRAINT; Schema: public; Owner: -
3227 --
3228
3229 ALTER TABLE ONLY public.user_mutes
3230     ADD CONSTRAINT fk_rails_e9dd4fb6c3 FOREIGN KEY (subject_id) REFERENCES public.users(id);
3231
3232
3233 --
3234 -- Name: oauth_access_tokens fk_rails_ee63f25419; Type: FK CONSTRAINT; Schema: public; Owner: -
3235 --
3236
3237 ALTER TABLE ONLY public.oauth_access_tokens
3238     ADD CONSTRAINT fk_rails_ee63f25419 FOREIGN KEY (resource_owner_id) REFERENCES public.users(id) NOT VALID;
3239
3240
3241 --
3242 -- Name: friends friends_friend_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3243 --
3244
3245 ALTER TABLE ONLY public.friends
3246     ADD CONSTRAINT friends_friend_user_id_fkey FOREIGN KEY (friend_user_id) REFERENCES public.users(id);
3247
3248
3249 --
3250 -- Name: friends friends_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3251 --
3252
3253 ALTER TABLE ONLY public.friends
3254     ADD CONSTRAINT friends_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3255
3256
3257 --
3258 -- Name: gps_points gps_points_gpx_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3259 --
3260
3261 ALTER TABLE ONLY public.gps_points
3262     ADD CONSTRAINT gps_points_gpx_id_fkey FOREIGN KEY (gpx_id) REFERENCES public.gpx_files(id);
3263
3264
3265 --
3266 -- Name: gpx_file_tags gpx_file_tags_gpx_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3267 --
3268
3269 ALTER TABLE ONLY public.gpx_file_tags
3270     ADD CONSTRAINT gpx_file_tags_gpx_id_fkey FOREIGN KEY (gpx_id) REFERENCES public.gpx_files(id);
3271
3272
3273 --
3274 -- Name: gpx_files gpx_files_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3275 --
3276
3277 ALTER TABLE ONLY public.gpx_files
3278     ADD CONSTRAINT gpx_files_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3279
3280
3281 --
3282 -- Name: issue_comments issue_comments_issue_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3283 --
3284
3285 ALTER TABLE ONLY public.issue_comments
3286     ADD CONSTRAINT issue_comments_issue_id_fkey FOREIGN KEY (issue_id) REFERENCES public.issues(id);
3287
3288
3289 --
3290 -- Name: issue_comments issue_comments_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3291 --
3292
3293 ALTER TABLE ONLY public.issue_comments
3294     ADD CONSTRAINT issue_comments_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3295
3296
3297 --
3298 -- Name: issues issues_reported_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3299 --
3300
3301 ALTER TABLE ONLY public.issues
3302     ADD CONSTRAINT issues_reported_user_id_fkey FOREIGN KEY (reported_user_id) REFERENCES public.users(id);
3303
3304
3305 --
3306 -- Name: issues issues_resolved_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3307 --
3308
3309 ALTER TABLE ONLY public.issues
3310     ADD CONSTRAINT issues_resolved_by_fkey FOREIGN KEY (resolved_by) REFERENCES public.users(id);
3311
3312
3313 --
3314 -- Name: issues issues_updated_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3315 --
3316
3317 ALTER TABLE ONLY public.issues
3318     ADD CONSTRAINT issues_updated_by_fkey FOREIGN KEY (updated_by) REFERENCES public.users(id);
3319
3320
3321 --
3322 -- Name: messages messages_from_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3323 --
3324
3325 ALTER TABLE ONLY public.messages
3326     ADD CONSTRAINT messages_from_user_id_fkey FOREIGN KEY (from_user_id) REFERENCES public.users(id);
3327
3328
3329 --
3330 -- Name: messages messages_to_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3331 --
3332
3333 ALTER TABLE ONLY public.messages
3334     ADD CONSTRAINT messages_to_user_id_fkey FOREIGN KEY (to_user_id) REFERENCES public.users(id);
3335
3336
3337 --
3338 -- Name: node_tags node_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3339 --
3340
3341 ALTER TABLE ONLY public.node_tags
3342     ADD CONSTRAINT node_tags_id_fkey FOREIGN KEY (node_id, version) REFERENCES public.nodes(node_id, version);
3343
3344
3345 --
3346 -- Name: nodes nodes_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3347 --
3348
3349 ALTER TABLE ONLY public.nodes
3350     ADD CONSTRAINT nodes_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3351
3352
3353 --
3354 -- Name: nodes nodes_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3355 --
3356
3357 ALTER TABLE ONLY public.nodes
3358     ADD CONSTRAINT nodes_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES public.redactions(id);
3359
3360
3361 --
3362 -- Name: note_comments note_comments_author_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3363 --
3364
3365 ALTER TABLE ONLY public.note_comments
3366     ADD CONSTRAINT note_comments_author_id_fkey FOREIGN KEY (author_id) REFERENCES public.users(id);
3367
3368
3369 --
3370 -- Name: note_comments note_comments_note_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3371 --
3372
3373 ALTER TABLE ONLY public.note_comments
3374     ADD CONSTRAINT note_comments_note_id_fkey FOREIGN KEY (note_id) REFERENCES public.notes(id);
3375
3376
3377 --
3378 -- Name: notes notes_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3379 --
3380
3381 ALTER TABLE ONLY public.notes
3382     ADD CONSTRAINT notes_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3383
3384
3385 --
3386 -- Name: redactions redactions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3387 --
3388
3389 ALTER TABLE ONLY public.redactions
3390     ADD CONSTRAINT redactions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3391
3392
3393 --
3394 -- Name: relation_members relation_members_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3395 --
3396
3397 ALTER TABLE ONLY public.relation_members
3398     ADD CONSTRAINT relation_members_id_fkey FOREIGN KEY (relation_id, version) REFERENCES public.relations(relation_id, version);
3399
3400
3401 --
3402 -- Name: relation_tags relation_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3403 --
3404
3405 ALTER TABLE ONLY public.relation_tags
3406     ADD CONSTRAINT relation_tags_id_fkey FOREIGN KEY (relation_id, version) REFERENCES public.relations(relation_id, version);
3407
3408
3409 --
3410 -- Name: relations relations_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3411 --
3412
3413 ALTER TABLE ONLY public.relations
3414     ADD CONSTRAINT relations_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3415
3416
3417 --
3418 -- Name: relations relations_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3419 --
3420
3421 ALTER TABLE ONLY public.relations
3422     ADD CONSTRAINT relations_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES public.redactions(id);
3423
3424
3425 --
3426 -- Name: reports reports_issue_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3427 --
3428
3429 ALTER TABLE ONLY public.reports
3430     ADD CONSTRAINT reports_issue_id_fkey FOREIGN KEY (issue_id) REFERENCES public.issues(id);
3431
3432
3433 --
3434 -- Name: reports reports_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3435 --
3436
3437 ALTER TABLE ONLY public.reports
3438     ADD CONSTRAINT reports_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3439
3440
3441 --
3442 -- Name: user_blocks user_blocks_moderator_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3443 --
3444
3445 ALTER TABLE ONLY public.user_blocks
3446     ADD CONSTRAINT user_blocks_moderator_id_fkey FOREIGN KEY (creator_id) REFERENCES public.users(id);
3447
3448
3449 --
3450 -- Name: user_blocks user_blocks_revoker_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3451 --
3452
3453 ALTER TABLE ONLY public.user_blocks
3454     ADD CONSTRAINT user_blocks_revoker_id_fkey FOREIGN KEY (revoker_id) REFERENCES public.users(id);
3455
3456
3457 --
3458 -- Name: user_blocks user_blocks_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3459 --
3460
3461 ALTER TABLE ONLY public.user_blocks
3462     ADD CONSTRAINT user_blocks_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3463
3464
3465 --
3466 -- Name: user_preferences user_preferences_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3467 --
3468
3469 ALTER TABLE ONLY public.user_preferences
3470     ADD CONSTRAINT user_preferences_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3471
3472
3473 --
3474 -- Name: user_roles user_roles_granter_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3475 --
3476
3477 ALTER TABLE ONLY public.user_roles
3478     ADD CONSTRAINT user_roles_granter_id_fkey FOREIGN KEY (granter_id) REFERENCES public.users(id);
3479
3480
3481 --
3482 -- Name: user_roles user_roles_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3483 --
3484
3485 ALTER TABLE ONLY public.user_roles
3486     ADD CONSTRAINT user_roles_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3487
3488
3489 --
3490 -- Name: way_nodes way_nodes_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3491 --
3492
3493 ALTER TABLE ONLY public.way_nodes
3494     ADD CONSTRAINT way_nodes_id_fkey FOREIGN KEY (way_id, version) REFERENCES public.ways(way_id, version);
3495
3496
3497 --
3498 -- Name: way_tags way_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3499 --
3500
3501 ALTER TABLE ONLY public.way_tags
3502     ADD CONSTRAINT way_tags_id_fkey FOREIGN KEY (way_id, version) REFERENCES public.ways(way_id, version);
3503
3504
3505 --
3506 -- Name: ways ways_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3507 --
3508
3509 ALTER TABLE ONLY public.ways
3510     ADD CONSTRAINT ways_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3511
3512
3513 --
3514 -- Name: ways ways_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3515 --
3516
3517 ALTER TABLE ONLY public.ways
3518     ADD CONSTRAINT ways_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES public.redactions(id);
3519
3520
3521 --
3522 -- PostgreSQL database dump complete
3523 --
3524
3525 SET search_path TO "$user", public;
3526
3527 INSERT INTO "schema_migrations" (version) VALUES
3528 ('9'),
3529 ('8'),
3530 ('7'),
3531 ('6'),
3532 ('57'),
3533 ('56'),
3534 ('55'),
3535 ('54'),
3536 ('53'),
3537 ('52'),
3538 ('51'),
3539 ('50'),
3540 ('5'),
3541 ('49'),
3542 ('48'),
3543 ('47'),
3544 ('46'),
3545 ('45'),
3546 ('44'),
3547 ('43'),
3548 ('42'),
3549 ('41'),
3550 ('40'),
3551 ('4'),
3552 ('39'),
3553 ('38'),
3554 ('37'),
3555 ('36'),
3556 ('35'),
3557 ('34'),
3558 ('33'),
3559 ('32'),
3560 ('31'),
3561 ('30'),
3562 ('3'),
3563 ('29'),
3564 ('28'),
3565 ('27'),
3566 ('26'),
3567 ('25'),
3568 ('24'),
3569 ('23'),
3570 ('22'),
3571 ('21'),
3572 ('20251121134648'),
3573 ('20250704143751'),
3574 ('20250506052030'),
3575 ('20250304172798'),
3576 ('20250304172758'),
3577 ('20250217140049'),
3578 ('20250212160355'),
3579 ('20250206202905'),
3580 ('20250121191749'),
3581 ('20250105154621'),
3582 ('20250104140952'),
3583 ('20241030090336'),
3584 ('20241023004427'),
3585 ('20241022141247'),
3586 ('20240913171951'),
3587 ('20240912181413'),
3588 ('20240910175616'),
3589 ('20240822121603'),
3590 ('20240813070506'),
3591 ('20240724194738'),
3592 ('20240618193051'),
3593 ('20240605134916'),
3594 ('20240405083825'),
3595 ('20240307181018'),
3596 ('20240307180830'),
3597 ('20240228205723'),
3598 ('20240117185445'),
3599 ('20231213182102'),
3600 ('20231206141457'),
3601 ('20231117170422'),
3602 ('20231101222146'),
3603 ('20231029151516'),
3604 ('20231010203028'),
3605 ('20231010201451'),
3606 ('20231010194809'),
3607 ('20231007141103'),
3608 ('20230830115220'),
3609 ('20230830115219'),
3610 ('20230825162137'),
3611 ('20230816135800'),
3612 ('20220223140543'),
3613 ('20220201183346'),
3614 ('20211216185316'),
3615 ('20210511104518'),
3616 ('20210510083028'),
3617 ('20210510083027'),
3618 ('20201214144017'),
3619 ('20201006220807'),
3620 ('20201006213836'),
3621 ('20201004105659'),
3622 ('20191120140058'),
3623 ('20190716173946'),
3624 ('20190702193519'),
3625 ('20190623093642'),
3626 ('20190518115041'),
3627 ('20181031113522'),
3628 ('20181020114000'),
3629 ('20180204153242'),
3630 ('20170222134109'),
3631 ('20161011010929'),
3632 ('20161002153425'),
3633 ('20160822153055'),
3634 ('20150818224516'),
3635 ('20150222101847'),
3636 ('20150111192335'),
3637 ('20150110152606'),
3638 ('20140519141742'),
3639 ('20140507110937'),
3640 ('20140210003018'),
3641 ('20140117185510'),
3642 ('20140115192822'),
3643 ('20131212124700'),
3644 ('20130328184137'),
3645 ('20121203124841'),
3646 ('20121202155309'),
3647 ('20121119165817'),
3648 ('20121012044047'),
3649 ('20121005195010'),
3650 ('20120808231205'),
3651 ('20120404205604'),
3652 ('20120328090602'),
3653 ('20120318201948'),
3654 ('20120219161649'),
3655 ('20120214210114'),
3656 ('20120208194454'),
3657 ('20120208122334'),
3658 ('20120123184321'),
3659 ('20111212183945'),
3660 ('20111116184519'),
3661 ('20110925112722'),
3662 ('20110521142405'),
3663 ('20110508145337'),
3664 ('20110322001319'),
3665 ('20101114011429'),
3666 ('20100910084426'),
3667 ('20100516124737'),
3668 ('20100513171259'),
3669 ('20'),
3670 ('2'),
3671 ('19'),
3672 ('18'),
3673 ('17'),
3674 ('16'),
3675 ('15'),
3676 ('14'),
3677 ('13'),
3678 ('12'),
3679 ('11'),
3680 ('10'),
3681 ('1');
3682