]> git.openstreetmap.org Git - rails.git/blob - db/structure.sql
First stab at hiding the heatmap
[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     public_heatmap boolean DEFAULT true NOT NULL
1598 );
1599
1600
1601 --
1602 -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1603 --
1604
1605 CREATE SEQUENCE public.users_id_seq
1606     START WITH 1
1607     INCREMENT BY 1
1608     NO MINVALUE
1609     NO MAXVALUE
1610     CACHE 1;
1611
1612
1613 --
1614 -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1615 --
1616
1617 ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
1618
1619
1620 --
1621 -- Name: way_nodes; Type: TABLE; Schema: public; Owner: -
1622 --
1623
1624 CREATE TABLE public.way_nodes (
1625     way_id bigint NOT NULL,
1626     node_id bigint NOT NULL,
1627     version bigint NOT NULL,
1628     sequence_id bigint NOT NULL
1629 );
1630
1631
1632 --
1633 -- Name: way_tags; Type: TABLE; Schema: public; Owner: -
1634 --
1635
1636 CREATE TABLE public.way_tags (
1637     way_id bigint NOT NULL,
1638     k character varying NOT NULL,
1639     v character varying NOT NULL,
1640     version bigint NOT NULL
1641 );
1642
1643
1644 --
1645 -- Name: ways; Type: TABLE; Schema: public; Owner: -
1646 --
1647
1648 CREATE TABLE public.ways (
1649     way_id bigint NOT NULL,
1650     changeset_id bigint NOT NULL,
1651     "timestamp" timestamp without time zone NOT NULL,
1652     version bigint NOT NULL,
1653     visible boolean DEFAULT true NOT NULL,
1654     redaction_id integer
1655 );
1656
1657
1658 --
1659 -- Name: acls id; Type: DEFAULT; Schema: public; Owner: -
1660 --
1661
1662 ALTER TABLE ONLY public.acls ALTER COLUMN id SET DEFAULT nextval('public.acls_id_seq'::regclass);
1663
1664
1665 --
1666 -- Name: active_storage_attachments id; Type: DEFAULT; Schema: public; Owner: -
1667 --
1668
1669 ALTER TABLE ONLY public.active_storage_attachments ALTER COLUMN id SET DEFAULT nextval('public.active_storage_attachments_id_seq'::regclass);
1670
1671
1672 --
1673 -- Name: active_storage_blobs id; Type: DEFAULT; Schema: public; Owner: -
1674 --
1675
1676 ALTER TABLE ONLY public.active_storage_blobs ALTER COLUMN id SET DEFAULT nextval('public.active_storage_blobs_id_seq'::regclass);
1677
1678
1679 --
1680 -- Name: active_storage_variant_records id; Type: DEFAULT; Schema: public; Owner: -
1681 --
1682
1683 ALTER TABLE ONLY public.active_storage_variant_records ALTER COLUMN id SET DEFAULT nextval('public.active_storage_variant_records_id_seq'::regclass);
1684
1685
1686 --
1687 -- Name: changeset_comments id; Type: DEFAULT; Schema: public; Owner: -
1688 --
1689
1690 ALTER TABLE ONLY public.changeset_comments ALTER COLUMN id SET DEFAULT nextval('public.changeset_comments_id_seq'::regclass);
1691
1692
1693 --
1694 -- Name: changesets id; Type: DEFAULT; Schema: public; Owner: -
1695 --
1696
1697 ALTER TABLE ONLY public.changesets ALTER COLUMN id SET DEFAULT nextval('public.changesets_id_seq'::regclass);
1698
1699
1700 --
1701 -- Name: current_nodes id; Type: DEFAULT; Schema: public; Owner: -
1702 --
1703
1704 ALTER TABLE ONLY public.current_nodes ALTER COLUMN id SET DEFAULT nextval('public.current_nodes_id_seq'::regclass);
1705
1706
1707 --
1708 -- Name: current_relations id; Type: DEFAULT; Schema: public; Owner: -
1709 --
1710
1711 ALTER TABLE ONLY public.current_relations ALTER COLUMN id SET DEFAULT nextval('public.current_relations_id_seq'::regclass);
1712
1713
1714 --
1715 -- Name: current_ways id; Type: DEFAULT; Schema: public; Owner: -
1716 --
1717
1718 ALTER TABLE ONLY public.current_ways ALTER COLUMN id SET DEFAULT nextval('public.current_ways_id_seq'::regclass);
1719
1720
1721 --
1722 -- Name: delayed_jobs id; Type: DEFAULT; Schema: public; Owner: -
1723 --
1724
1725 ALTER TABLE ONLY public.delayed_jobs ALTER COLUMN id SET DEFAULT nextval('public.delayed_jobs_id_seq'::regclass);
1726
1727
1728 --
1729 -- Name: diary_comments id; Type: DEFAULT; Schema: public; Owner: -
1730 --
1731
1732 ALTER TABLE ONLY public.diary_comments ALTER COLUMN id SET DEFAULT nextval('public.diary_comments_id_seq'::regclass);
1733
1734
1735 --
1736 -- Name: diary_entries id; Type: DEFAULT; Schema: public; Owner: -
1737 --
1738
1739 ALTER TABLE ONLY public.diary_entries ALTER COLUMN id SET DEFAULT nextval('public.diary_entries_id_seq'::regclass);
1740
1741
1742 --
1743 -- Name: friends id; Type: DEFAULT; Schema: public; Owner: -
1744 --
1745
1746 ALTER TABLE ONLY public.friends ALTER COLUMN id SET DEFAULT nextval('public.friends_id_seq'::regclass);
1747
1748
1749 --
1750 -- Name: gpx_file_tags id; Type: DEFAULT; Schema: public; Owner: -
1751 --
1752
1753 ALTER TABLE ONLY public.gpx_file_tags ALTER COLUMN id SET DEFAULT nextval('public.gpx_file_tags_id_seq'::regclass);
1754
1755
1756 --
1757 -- Name: gpx_files id; Type: DEFAULT; Schema: public; Owner: -
1758 --
1759
1760 ALTER TABLE ONLY public.gpx_files ALTER COLUMN id SET DEFAULT nextval('public.gpx_files_id_seq'::regclass);
1761
1762
1763 --
1764 -- Name: issue_comments id; Type: DEFAULT; Schema: public; Owner: -
1765 --
1766
1767 ALTER TABLE ONLY public.issue_comments ALTER COLUMN id SET DEFAULT nextval('public.issue_comments_id_seq'::regclass);
1768
1769
1770 --
1771 -- Name: issues id; Type: DEFAULT; Schema: public; Owner: -
1772 --
1773
1774 ALTER TABLE ONLY public.issues ALTER COLUMN id SET DEFAULT nextval('public.issues_id_seq'::regclass);
1775
1776
1777 --
1778 -- Name: messages id; Type: DEFAULT; Schema: public; Owner: -
1779 --
1780
1781 ALTER TABLE ONLY public.messages ALTER COLUMN id SET DEFAULT nextval('public.messages_id_seq'::regclass);
1782
1783
1784 --
1785 -- Name: note_comments id; Type: DEFAULT; Schema: public; Owner: -
1786 --
1787
1788 ALTER TABLE ONLY public.note_comments ALTER COLUMN id SET DEFAULT nextval('public.note_comments_id_seq'::regclass);
1789
1790
1791 --
1792 -- Name: notes id; Type: DEFAULT; Schema: public; Owner: -
1793 --
1794
1795 ALTER TABLE ONLY public.notes ALTER COLUMN id SET DEFAULT nextval('public.notes_id_seq'::regclass);
1796
1797
1798 --
1799 -- Name: oauth_access_grants id; Type: DEFAULT; Schema: public; Owner: -
1800 --
1801
1802 ALTER TABLE ONLY public.oauth_access_grants ALTER COLUMN id SET DEFAULT nextval('public.oauth_access_grants_id_seq'::regclass);
1803
1804
1805 --
1806 -- Name: oauth_access_tokens id; Type: DEFAULT; Schema: public; Owner: -
1807 --
1808
1809 ALTER TABLE ONLY public.oauth_access_tokens ALTER COLUMN id SET DEFAULT nextval('public.oauth_access_tokens_id_seq'::regclass);
1810
1811
1812 --
1813 -- Name: oauth_applications id; Type: DEFAULT; Schema: public; Owner: -
1814 --
1815
1816 ALTER TABLE ONLY public.oauth_applications ALTER COLUMN id SET DEFAULT nextval('public.oauth_applications_id_seq'::regclass);
1817
1818
1819 --
1820 -- Name: oauth_openid_requests id; Type: DEFAULT; Schema: public; Owner: -
1821 --
1822
1823 ALTER TABLE ONLY public.oauth_openid_requests ALTER COLUMN id SET DEFAULT nextval('public.oauth_openid_requests_id_seq'::regclass);
1824
1825
1826 --
1827 -- Name: redactions id; Type: DEFAULT; Schema: public; Owner: -
1828 --
1829
1830 ALTER TABLE ONLY public.redactions ALTER COLUMN id SET DEFAULT nextval('public.redactions_id_seq'::regclass);
1831
1832
1833 --
1834 -- Name: reports id; Type: DEFAULT; Schema: public; Owner: -
1835 --
1836
1837 ALTER TABLE ONLY public.reports ALTER COLUMN id SET DEFAULT nextval('public.reports_id_seq'::regclass);
1838
1839
1840 --
1841 -- Name: social_links id; Type: DEFAULT; Schema: public; Owner: -
1842 --
1843
1844 ALTER TABLE ONLY public.social_links ALTER COLUMN id SET DEFAULT nextval('public.social_links_id_seq'::regclass);
1845
1846
1847 --
1848 -- Name: spammy_phrases id; Type: DEFAULT; Schema: public; Owner: -
1849 --
1850
1851 ALTER TABLE ONLY public.spammy_phrases ALTER COLUMN id SET DEFAULT nextval('public.spammy_phrases_id_seq'::regclass);
1852
1853
1854 --
1855 -- Name: user_blocks id; Type: DEFAULT; Schema: public; Owner: -
1856 --
1857
1858 ALTER TABLE ONLY public.user_blocks ALTER COLUMN id SET DEFAULT nextval('public.user_blocks_id_seq'::regclass);
1859
1860
1861 --
1862 -- Name: user_mutes id; Type: DEFAULT; Schema: public; Owner: -
1863 --
1864
1865 ALTER TABLE ONLY public.user_mutes ALTER COLUMN id SET DEFAULT nextval('public.user_mutes_id_seq'::regclass);
1866
1867
1868 --
1869 -- Name: user_roles id; Type: DEFAULT; Schema: public; Owner: -
1870 --
1871
1872 ALTER TABLE ONLY public.user_roles ALTER COLUMN id SET DEFAULT nextval('public.user_roles_id_seq'::regclass);
1873
1874
1875 --
1876 -- Name: users id; Type: DEFAULT; Schema: public; Owner: -
1877 --
1878
1879 ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
1880
1881
1882 --
1883 -- Name: acls acls_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1884 --
1885
1886 ALTER TABLE ONLY public.acls
1887     ADD CONSTRAINT acls_pkey PRIMARY KEY (id);
1888
1889
1890 --
1891 -- Name: active_storage_attachments active_storage_attachments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1892 --
1893
1894 ALTER TABLE ONLY public.active_storage_attachments
1895     ADD CONSTRAINT active_storage_attachments_pkey PRIMARY KEY (id);
1896
1897
1898 --
1899 -- Name: active_storage_blobs active_storage_blobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1900 --
1901
1902 ALTER TABLE ONLY public.active_storage_blobs
1903     ADD CONSTRAINT active_storage_blobs_pkey PRIMARY KEY (id);
1904
1905
1906 --
1907 -- Name: active_storage_variant_records active_storage_variant_records_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1908 --
1909
1910 ALTER TABLE ONLY public.active_storage_variant_records
1911     ADD CONSTRAINT active_storage_variant_records_pkey PRIMARY KEY (id);
1912
1913
1914 --
1915 -- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1916 --
1917
1918 ALTER TABLE ONLY public.ar_internal_metadata
1919     ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
1920
1921
1922 --
1923 -- Name: changeset_comments changeset_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1924 --
1925
1926 ALTER TABLE ONLY public.changeset_comments
1927     ADD CONSTRAINT changeset_comments_pkey PRIMARY KEY (id);
1928
1929
1930 --
1931 -- Name: changeset_tags changeset_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1932 --
1933
1934 ALTER TABLE ONLY public.changeset_tags
1935     ADD CONSTRAINT changeset_tags_pkey PRIMARY KEY (changeset_id, k);
1936
1937
1938 --
1939 -- Name: changesets changesets_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1940 --
1941
1942 ALTER TABLE ONLY public.changesets
1943     ADD CONSTRAINT changesets_pkey PRIMARY KEY (id);
1944
1945
1946 --
1947 -- Name: current_node_tags current_node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1948 --
1949
1950 ALTER TABLE ONLY public.current_node_tags
1951     ADD CONSTRAINT current_node_tags_pkey PRIMARY KEY (node_id, k);
1952
1953
1954 --
1955 -- Name: current_nodes current_nodes_pkey1; Type: CONSTRAINT; Schema: public; Owner: -
1956 --
1957
1958 ALTER TABLE ONLY public.current_nodes
1959     ADD CONSTRAINT current_nodes_pkey1 PRIMARY KEY (id);
1960
1961
1962 --
1963 -- Name: current_relation_members current_relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1964 --
1965
1966 ALTER TABLE ONLY public.current_relation_members
1967     ADD CONSTRAINT current_relation_members_pkey PRIMARY KEY (relation_id, sequence_id);
1968
1969
1970 --
1971 -- Name: current_relation_tags current_relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1972 --
1973
1974 ALTER TABLE ONLY public.current_relation_tags
1975     ADD CONSTRAINT current_relation_tags_pkey PRIMARY KEY (relation_id, k);
1976
1977
1978 --
1979 -- Name: current_relations current_relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1980 --
1981
1982 ALTER TABLE ONLY public.current_relations
1983     ADD CONSTRAINT current_relations_pkey PRIMARY KEY (id);
1984
1985
1986 --
1987 -- Name: current_way_nodes current_way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1988 --
1989
1990 ALTER TABLE ONLY public.current_way_nodes
1991     ADD CONSTRAINT current_way_nodes_pkey PRIMARY KEY (way_id, sequence_id);
1992
1993
1994 --
1995 -- Name: current_way_tags current_way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1996 --
1997
1998 ALTER TABLE ONLY public.current_way_tags
1999     ADD CONSTRAINT current_way_tags_pkey PRIMARY KEY (way_id, k);
2000
2001
2002 --
2003 -- Name: current_ways current_ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2004 --
2005
2006 ALTER TABLE ONLY public.current_ways
2007     ADD CONSTRAINT current_ways_pkey PRIMARY KEY (id);
2008
2009
2010 --
2011 -- Name: delayed_jobs delayed_jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2012 --
2013
2014 ALTER TABLE ONLY public.delayed_jobs
2015     ADD CONSTRAINT delayed_jobs_pkey PRIMARY KEY (id);
2016
2017
2018 --
2019 -- Name: diary_comments diary_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2020 --
2021
2022 ALTER TABLE ONLY public.diary_comments
2023     ADD CONSTRAINT diary_comments_pkey PRIMARY KEY (id);
2024
2025
2026 --
2027 -- Name: diary_entries diary_entries_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2028 --
2029
2030 ALTER TABLE ONLY public.diary_entries
2031     ADD CONSTRAINT diary_entries_pkey PRIMARY KEY (id);
2032
2033
2034 --
2035 -- Name: diary_entry_subscriptions diary_entry_subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2036 --
2037
2038 ALTER TABLE ONLY public.diary_entry_subscriptions
2039     ADD CONSTRAINT diary_entry_subscriptions_pkey PRIMARY KEY (user_id, diary_entry_id);
2040
2041
2042 --
2043 -- Name: friends friends_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2044 --
2045
2046 ALTER TABLE ONLY public.friends
2047     ADD CONSTRAINT friends_pkey PRIMARY KEY (id);
2048
2049
2050 --
2051 -- Name: gpx_file_tags gpx_file_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2052 --
2053
2054 ALTER TABLE ONLY public.gpx_file_tags
2055     ADD CONSTRAINT gpx_file_tags_pkey PRIMARY KEY (id);
2056
2057
2058 --
2059 -- Name: gpx_files gpx_files_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2060 --
2061
2062 ALTER TABLE ONLY public.gpx_files
2063     ADD CONSTRAINT gpx_files_pkey PRIMARY KEY (id);
2064
2065
2066 --
2067 -- Name: issue_comments issue_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2068 --
2069
2070 ALTER TABLE ONLY public.issue_comments
2071     ADD CONSTRAINT issue_comments_pkey PRIMARY KEY (id);
2072
2073
2074 --
2075 -- Name: issues issues_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2076 --
2077
2078 ALTER TABLE ONLY public.issues
2079     ADD CONSTRAINT issues_pkey PRIMARY KEY (id);
2080
2081
2082 --
2083 -- Name: languages languages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2084 --
2085
2086 ALTER TABLE ONLY public.languages
2087     ADD CONSTRAINT languages_pkey PRIMARY KEY (code);
2088
2089
2090 --
2091 -- Name: messages messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2092 --
2093
2094 ALTER TABLE ONLY public.messages
2095     ADD CONSTRAINT messages_pkey PRIMARY KEY (id);
2096
2097
2098 --
2099 -- Name: node_tags node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2100 --
2101
2102 ALTER TABLE ONLY public.node_tags
2103     ADD CONSTRAINT node_tags_pkey PRIMARY KEY (node_id, version, k);
2104
2105
2106 --
2107 -- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2108 --
2109
2110 ALTER TABLE ONLY public.nodes
2111     ADD CONSTRAINT nodes_pkey PRIMARY KEY (node_id, version);
2112
2113
2114 --
2115 -- Name: note_comments note_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2116 --
2117
2118 ALTER TABLE ONLY public.note_comments
2119     ADD CONSTRAINT note_comments_pkey PRIMARY KEY (id);
2120
2121
2122 --
2123 -- Name: note_subscriptions note_subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2124 --
2125
2126 ALTER TABLE ONLY public.note_subscriptions
2127     ADD CONSTRAINT note_subscriptions_pkey PRIMARY KEY (user_id, note_id);
2128
2129
2130 --
2131 -- Name: notes notes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2132 --
2133
2134 ALTER TABLE ONLY public.notes
2135     ADD CONSTRAINT notes_pkey PRIMARY KEY (id);
2136
2137
2138 --
2139 -- Name: oauth_access_grants oauth_access_grants_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2140 --
2141
2142 ALTER TABLE ONLY public.oauth_access_grants
2143     ADD CONSTRAINT oauth_access_grants_pkey PRIMARY KEY (id);
2144
2145
2146 --
2147 -- Name: oauth_access_tokens oauth_access_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2148 --
2149
2150 ALTER TABLE ONLY public.oauth_access_tokens
2151     ADD CONSTRAINT oauth_access_tokens_pkey PRIMARY KEY (id);
2152
2153
2154 --
2155 -- Name: oauth_applications oauth_applications_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2156 --
2157
2158 ALTER TABLE ONLY public.oauth_applications
2159     ADD CONSTRAINT oauth_applications_pkey PRIMARY KEY (id);
2160
2161
2162 --
2163 -- Name: oauth_openid_requests oauth_openid_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2164 --
2165
2166 ALTER TABLE ONLY public.oauth_openid_requests
2167     ADD CONSTRAINT oauth_openid_requests_pkey PRIMARY KEY (id);
2168
2169
2170 --
2171 -- Name: redactions redactions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2172 --
2173
2174 ALTER TABLE ONLY public.redactions
2175     ADD CONSTRAINT redactions_pkey PRIMARY KEY (id);
2176
2177
2178 --
2179 -- Name: relation_members relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2180 --
2181
2182 ALTER TABLE ONLY public.relation_members
2183     ADD CONSTRAINT relation_members_pkey PRIMARY KEY (relation_id, version, sequence_id);
2184
2185
2186 --
2187 -- Name: relation_tags relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2188 --
2189
2190 ALTER TABLE ONLY public.relation_tags
2191     ADD CONSTRAINT relation_tags_pkey PRIMARY KEY (relation_id, version, k);
2192
2193
2194 --
2195 -- Name: relations relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2196 --
2197
2198 ALTER TABLE ONLY public.relations
2199     ADD CONSTRAINT relations_pkey PRIMARY KEY (relation_id, version);
2200
2201
2202 --
2203 -- Name: reports reports_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2204 --
2205
2206 ALTER TABLE ONLY public.reports
2207     ADD CONSTRAINT reports_pkey PRIMARY KEY (id);
2208
2209
2210 --
2211 -- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2212 --
2213
2214 ALTER TABLE ONLY public.schema_migrations
2215     ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);
2216
2217
2218 --
2219 -- Name: social_links social_links_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2220 --
2221
2222 ALTER TABLE ONLY public.social_links
2223     ADD CONSTRAINT social_links_pkey PRIMARY KEY (id);
2224
2225
2226 --
2227 -- Name: spammy_phrases spammy_phrases_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2228 --
2229
2230 ALTER TABLE ONLY public.spammy_phrases
2231     ADD CONSTRAINT spammy_phrases_pkey PRIMARY KEY (id);
2232
2233
2234 --
2235 -- Name: user_blocks user_blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2236 --
2237
2238 ALTER TABLE ONLY public.user_blocks
2239     ADD CONSTRAINT user_blocks_pkey PRIMARY KEY (id);
2240
2241
2242 --
2243 -- Name: user_mutes user_mutes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2244 --
2245
2246 ALTER TABLE ONLY public.user_mutes
2247     ADD CONSTRAINT user_mutes_pkey PRIMARY KEY (id);
2248
2249
2250 --
2251 -- Name: user_preferences user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2252 --
2253
2254 ALTER TABLE ONLY public.user_preferences
2255     ADD CONSTRAINT user_preferences_pkey PRIMARY KEY (user_id, k);
2256
2257
2258 --
2259 -- Name: user_roles user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2260 --
2261
2262 ALTER TABLE ONLY public.user_roles
2263     ADD CONSTRAINT user_roles_pkey PRIMARY KEY (id);
2264
2265
2266 --
2267 -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2268 --
2269
2270 ALTER TABLE ONLY public.users
2271     ADD CONSTRAINT users_pkey PRIMARY KEY (id);
2272
2273
2274 --
2275 -- Name: way_nodes way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2276 --
2277
2278 ALTER TABLE ONLY public.way_nodes
2279     ADD CONSTRAINT way_nodes_pkey PRIMARY KEY (way_id, version, sequence_id);
2280
2281
2282 --
2283 -- Name: way_tags way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2284 --
2285
2286 ALTER TABLE ONLY public.way_tags
2287     ADD CONSTRAINT way_tags_pkey PRIMARY KEY (way_id, version, k);
2288
2289
2290 --
2291 -- Name: ways ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -
2292 --
2293
2294 ALTER TABLE ONLY public.ways
2295     ADD CONSTRAINT ways_pkey PRIMARY KEY (way_id, version);
2296
2297
2298 --
2299 -- Name: acls_k_idx; Type: INDEX; Schema: public; Owner: -
2300 --
2301
2302 CREATE INDEX acls_k_idx ON public.acls USING btree (k);
2303
2304
2305 --
2306 -- Name: changesets_bbox_idx; Type: INDEX; Schema: public; Owner: -
2307 --
2308
2309 CREATE INDEX changesets_bbox_idx ON public.changesets USING gist (min_lat, max_lat, min_lon, max_lon);
2310
2311
2312 --
2313 -- Name: changesets_closed_at_idx; Type: INDEX; Schema: public; Owner: -
2314 --
2315
2316 CREATE INDEX changesets_closed_at_idx ON public.changesets USING btree (closed_at);
2317
2318
2319 --
2320 -- Name: changesets_created_at_idx; Type: INDEX; Schema: public; Owner: -
2321 --
2322
2323 CREATE INDEX changesets_created_at_idx ON public.changesets USING btree (created_at);
2324
2325
2326 --
2327 -- Name: changesets_user_id_created_at_idx; Type: INDEX; Schema: public; Owner: -
2328 --
2329
2330 CREATE INDEX changesets_user_id_created_at_idx ON public.changesets USING btree (user_id, created_at);
2331
2332
2333 --
2334 -- Name: changesets_user_id_id_idx; Type: INDEX; Schema: public; Owner: -
2335 --
2336
2337 CREATE INDEX changesets_user_id_id_idx ON public.changesets USING btree (user_id, id);
2338
2339
2340 --
2341 -- Name: current_nodes_tile_idx; Type: INDEX; Schema: public; Owner: -
2342 --
2343
2344 CREATE INDEX current_nodes_tile_idx ON public.current_nodes USING btree (tile);
2345
2346
2347 --
2348 -- Name: current_nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2349 --
2350
2351 CREATE INDEX current_nodes_timestamp_idx ON public.current_nodes USING btree ("timestamp");
2352
2353
2354 --
2355 -- Name: current_relation_members_member_idx; Type: INDEX; Schema: public; Owner: -
2356 --
2357
2358 CREATE INDEX current_relation_members_member_idx ON public.current_relation_members USING btree (member_type, member_id);
2359
2360
2361 --
2362 -- Name: current_relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2363 --
2364
2365 CREATE INDEX current_relations_timestamp_idx ON public.current_relations USING btree ("timestamp");
2366
2367
2368 --
2369 -- Name: current_way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -
2370 --
2371
2372 CREATE INDEX current_way_nodes_node_idx ON public.current_way_nodes USING btree (node_id);
2373
2374
2375 --
2376 -- Name: current_ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2377 --
2378
2379 CREATE INDEX current_ways_timestamp_idx ON public.current_ways USING btree ("timestamp");
2380
2381
2382 --
2383 -- Name: delayed_jobs_priority; Type: INDEX; Schema: public; Owner: -
2384 --
2385
2386 CREATE INDEX delayed_jobs_priority ON public.delayed_jobs USING btree (priority, run_at);
2387
2388
2389 --
2390 -- Name: diary_comment_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
2391 --
2392
2393 CREATE INDEX diary_comment_user_id_created_at_index ON public.diary_comments USING btree (user_id, created_at);
2394
2395
2396 --
2397 -- Name: diary_comments_entry_id_idx; Type: INDEX; Schema: public; Owner: -
2398 --
2399
2400 CREATE UNIQUE INDEX diary_comments_entry_id_idx ON public.diary_comments USING btree (diary_entry_id, id);
2401
2402
2403 --
2404 -- Name: diary_entry_created_at_index; Type: INDEX; Schema: public; Owner: -
2405 --
2406
2407 CREATE INDEX diary_entry_created_at_index ON public.diary_entries USING btree (created_at);
2408
2409
2410 --
2411 -- Name: diary_entry_language_code_created_at_index; Type: INDEX; Schema: public; Owner: -
2412 --
2413
2414 CREATE INDEX diary_entry_language_code_created_at_index ON public.diary_entries USING btree (language_code, created_at);
2415
2416
2417 --
2418 -- Name: diary_entry_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -
2419 --
2420
2421 CREATE INDEX diary_entry_user_id_created_at_index ON public.diary_entries USING btree (user_id, created_at);
2422
2423
2424 --
2425 -- Name: gpx_file_tags_gpxid_idx; Type: INDEX; Schema: public; Owner: -
2426 --
2427
2428 CREATE INDEX gpx_file_tags_gpxid_idx ON public.gpx_file_tags USING btree (gpx_id);
2429
2430
2431 --
2432 -- Name: gpx_file_tags_tag_idx; Type: INDEX; Schema: public; Owner: -
2433 --
2434
2435 CREATE INDEX gpx_file_tags_tag_idx ON public.gpx_file_tags USING btree (tag);
2436
2437
2438 --
2439 -- Name: gpx_files_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2440 --
2441
2442 CREATE INDEX gpx_files_timestamp_idx ON public.gpx_files USING btree ("timestamp");
2443
2444
2445 --
2446 -- Name: gpx_files_user_id_idx; Type: INDEX; Schema: public; Owner: -
2447 --
2448
2449 CREATE INDEX gpx_files_user_id_idx ON public.gpx_files USING btree (user_id);
2450
2451
2452 --
2453 -- Name: gpx_files_visible_visibility_idx; Type: INDEX; Schema: public; Owner: -
2454 --
2455
2456 CREATE INDEX gpx_files_visible_visibility_idx ON public.gpx_files USING btree (visible, visibility);
2457
2458
2459 --
2460 -- Name: index_acls_on_address; Type: INDEX; Schema: public; Owner: -
2461 --
2462
2463 CREATE INDEX index_acls_on_address ON public.acls USING gist (address inet_ops);
2464
2465
2466 --
2467 -- Name: index_acls_on_domain; Type: INDEX; Schema: public; Owner: -
2468 --
2469
2470 CREATE INDEX index_acls_on_domain ON public.acls USING btree (domain);
2471
2472
2473 --
2474 -- Name: index_acls_on_mx; Type: INDEX; Schema: public; Owner: -
2475 --
2476
2477 CREATE INDEX index_acls_on_mx ON public.acls USING btree (mx);
2478
2479
2480 --
2481 -- Name: index_active_storage_attachments_on_blob_id; Type: INDEX; Schema: public; Owner: -
2482 --
2483
2484 CREATE INDEX index_active_storage_attachments_on_blob_id ON public.active_storage_attachments USING btree (blob_id);
2485
2486
2487 --
2488 -- Name: index_active_storage_attachments_uniqueness; Type: INDEX; Schema: public; Owner: -
2489 --
2490
2491 CREATE UNIQUE INDEX index_active_storage_attachments_uniqueness ON public.active_storage_attachments USING btree (record_type, record_id, name, blob_id);
2492
2493
2494 --
2495 -- Name: index_active_storage_blobs_on_key; Type: INDEX; Schema: public; Owner: -
2496 --
2497
2498 CREATE UNIQUE INDEX index_active_storage_blobs_on_key ON public.active_storage_blobs USING btree (key);
2499
2500
2501 --
2502 -- Name: index_active_storage_variant_records_uniqueness; Type: INDEX; Schema: public; Owner: -
2503 --
2504
2505 CREATE UNIQUE INDEX index_active_storage_variant_records_uniqueness ON public.active_storage_variant_records USING btree (blob_id, variation_digest);
2506
2507
2508 --
2509 -- Name: index_changeset_comments_on_author_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2510 --
2511
2512 CREATE INDEX index_changeset_comments_on_author_id_and_created_at ON public.changeset_comments USING btree (author_id, created_at);
2513
2514
2515 --
2516 -- Name: index_changeset_comments_on_author_id_and_id; Type: INDEX; Schema: public; Owner: -
2517 --
2518
2519 CREATE INDEX index_changeset_comments_on_author_id_and_id ON public.changeset_comments USING btree (author_id, id);
2520
2521
2522 --
2523 -- Name: index_changeset_comments_on_changeset_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2524 --
2525
2526 CREATE INDEX index_changeset_comments_on_changeset_id_and_created_at ON public.changeset_comments USING btree (changeset_id, created_at);
2527
2528
2529 --
2530 -- Name: index_changeset_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
2531 --
2532
2533 CREATE INDEX index_changeset_comments_on_created_at ON public.changeset_comments USING btree (created_at);
2534
2535
2536 --
2537 -- Name: index_changesets_on_user_id_and_closed_at; Type: INDEX; Schema: public; Owner: -
2538 --
2539
2540 CREATE INDEX index_changesets_on_user_id_and_closed_at ON public.changesets USING btree (user_id, closed_at);
2541
2542
2543 --
2544 -- Name: index_changesets_subscribers_on_changeset_id; Type: INDEX; Schema: public; Owner: -
2545 --
2546
2547 CREATE INDEX index_changesets_subscribers_on_changeset_id ON public.changesets_subscribers USING btree (changeset_id);
2548
2549
2550 --
2551 -- Name: index_changesets_subscribers_on_subscriber_id_and_changeset_id; Type: INDEX; Schema: public; Owner: -
2552 --
2553
2554 CREATE UNIQUE INDEX index_changesets_subscribers_on_subscriber_id_and_changeset_id ON public.changesets_subscribers USING btree (subscriber_id, changeset_id);
2555
2556
2557 --
2558 -- Name: index_diary_comments_on_user_id_and_id; Type: INDEX; Schema: public; Owner: -
2559 --
2560
2561 CREATE INDEX index_diary_comments_on_user_id_and_id ON public.diary_comments USING btree (user_id, id);
2562
2563
2564 --
2565 -- Name: index_diary_entry_subscriptions_on_diary_entry_id; Type: INDEX; Schema: public; Owner: -
2566 --
2567
2568 CREATE INDEX index_diary_entry_subscriptions_on_diary_entry_id ON public.diary_entry_subscriptions USING btree (diary_entry_id);
2569
2570
2571 --
2572 -- Name: index_friends_on_user_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2573 --
2574
2575 CREATE INDEX index_friends_on_user_id_and_created_at ON public.friends USING btree (user_id, created_at);
2576
2577
2578 --
2579 -- Name: index_gpx_files_on_user_id_and_id; Type: INDEX; Schema: public; Owner: -
2580 --
2581
2582 CREATE INDEX index_gpx_files_on_user_id_and_id ON public.gpx_files USING btree (user_id, id);
2583
2584
2585 --
2586 -- Name: index_issue_comments_on_issue_id; Type: INDEX; Schema: public; Owner: -
2587 --
2588
2589 CREATE INDEX index_issue_comments_on_issue_id ON public.issue_comments USING btree (issue_id);
2590
2591
2592 --
2593 -- Name: index_issue_comments_on_user_id; Type: INDEX; Schema: public; Owner: -
2594 --
2595
2596 CREATE INDEX index_issue_comments_on_user_id ON public.issue_comments USING btree (user_id);
2597
2598
2599 --
2600 -- Name: index_issues_on_assigned_role; Type: INDEX; Schema: public; Owner: -
2601 --
2602
2603 CREATE INDEX index_issues_on_assigned_role ON public.issues USING btree (assigned_role);
2604
2605
2606 --
2607 -- Name: index_issues_on_reportable_type_and_reportable_id; Type: INDEX; Schema: public; Owner: -
2608 --
2609
2610 CREATE INDEX index_issues_on_reportable_type_and_reportable_id ON public.issues USING btree (reportable_type, reportable_id);
2611
2612
2613 --
2614 -- Name: index_issues_on_reported_user_id; Type: INDEX; Schema: public; Owner: -
2615 --
2616
2617 CREATE INDEX index_issues_on_reported_user_id ON public.issues USING btree (reported_user_id);
2618
2619
2620 --
2621 -- Name: index_issues_on_status; Type: INDEX; Schema: public; Owner: -
2622 --
2623
2624 CREATE INDEX index_issues_on_status ON public.issues USING btree (status);
2625
2626
2627 --
2628 -- Name: index_issues_on_updated_by; Type: INDEX; Schema: public; Owner: -
2629 --
2630
2631 CREATE INDEX index_issues_on_updated_by ON public.issues USING btree (updated_by);
2632
2633
2634 --
2635 -- Name: index_note_comments_on_author_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2636 --
2637
2638 CREATE INDEX index_note_comments_on_author_id_and_created_at ON public.note_comments USING btree (author_id, created_at);
2639
2640
2641 --
2642 -- Name: index_note_comments_on_body; Type: INDEX; Schema: public; Owner: -
2643 --
2644
2645 CREATE INDEX index_note_comments_on_body ON public.note_comments USING gin (to_tsvector('english'::regconfig, body));
2646
2647
2648 --
2649 -- Name: index_note_comments_on_created_at; Type: INDEX; Schema: public; Owner: -
2650 --
2651
2652 CREATE INDEX index_note_comments_on_created_at ON public.note_comments USING btree (created_at);
2653
2654
2655 --
2656 -- Name: index_note_subscriptions_on_note_id; Type: INDEX; Schema: public; Owner: -
2657 --
2658
2659 CREATE INDEX index_note_subscriptions_on_note_id ON public.note_subscriptions USING btree (note_id);
2660
2661
2662 --
2663 -- Name: index_notes_on_description; Type: INDEX; Schema: public; Owner: -
2664 --
2665
2666 CREATE INDEX index_notes_on_description ON public.notes USING gin (to_tsvector('english'::regconfig, description));
2667
2668
2669 --
2670 -- Name: index_notes_on_user_id_and_created_at; Type: INDEX; Schema: public; Owner: -
2671 --
2672
2673 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);
2674
2675
2676 --
2677 -- Name: index_oauth_access_grants_on_application_id; Type: INDEX; Schema: public; Owner: -
2678 --
2679
2680 CREATE INDEX index_oauth_access_grants_on_application_id ON public.oauth_access_grants USING btree (application_id);
2681
2682
2683 --
2684 -- Name: index_oauth_access_grants_on_resource_owner_id; Type: INDEX; Schema: public; Owner: -
2685 --
2686
2687 CREATE INDEX index_oauth_access_grants_on_resource_owner_id ON public.oauth_access_grants USING btree (resource_owner_id);
2688
2689
2690 --
2691 -- Name: index_oauth_access_grants_on_token; Type: INDEX; Schema: public; Owner: -
2692 --
2693
2694 CREATE UNIQUE INDEX index_oauth_access_grants_on_token ON public.oauth_access_grants USING btree (token);
2695
2696
2697 --
2698 -- Name: index_oauth_access_tokens_on_application_id; Type: INDEX; Schema: public; Owner: -
2699 --
2700
2701 CREATE INDEX index_oauth_access_tokens_on_application_id ON public.oauth_access_tokens USING btree (application_id);
2702
2703
2704 --
2705 -- Name: index_oauth_access_tokens_on_refresh_token; Type: INDEX; Schema: public; Owner: -
2706 --
2707
2708 CREATE UNIQUE INDEX index_oauth_access_tokens_on_refresh_token ON public.oauth_access_tokens USING btree (refresh_token);
2709
2710
2711 --
2712 -- Name: index_oauth_access_tokens_on_resource_owner_id; Type: INDEX; Schema: public; Owner: -
2713 --
2714
2715 CREATE INDEX index_oauth_access_tokens_on_resource_owner_id ON public.oauth_access_tokens USING btree (resource_owner_id);
2716
2717
2718 --
2719 -- Name: index_oauth_access_tokens_on_token; Type: INDEX; Schema: public; Owner: -
2720 --
2721
2722 CREATE UNIQUE INDEX index_oauth_access_tokens_on_token ON public.oauth_access_tokens USING btree (token);
2723
2724
2725 --
2726 -- Name: index_oauth_applications_on_owner_type_and_owner_id; Type: INDEX; Schema: public; Owner: -
2727 --
2728
2729 CREATE INDEX index_oauth_applications_on_owner_type_and_owner_id ON public.oauth_applications USING btree (owner_type, owner_id);
2730
2731
2732 --
2733 -- Name: index_oauth_applications_on_uid; Type: INDEX; Schema: public; Owner: -
2734 --
2735
2736 CREATE UNIQUE INDEX index_oauth_applications_on_uid ON public.oauth_applications USING btree (uid);
2737
2738
2739 --
2740 -- Name: index_oauth_openid_requests_on_access_grant_id; Type: INDEX; Schema: public; Owner: -
2741 --
2742
2743 CREATE INDEX index_oauth_openid_requests_on_access_grant_id ON public.oauth_openid_requests USING btree (access_grant_id);
2744
2745
2746 --
2747 -- Name: index_reports_on_issue_id; Type: INDEX; Schema: public; Owner: -
2748 --
2749
2750 CREATE INDEX index_reports_on_issue_id ON public.reports USING btree (issue_id);
2751
2752
2753 --
2754 -- Name: index_reports_on_user_id; Type: INDEX; Schema: public; Owner: -
2755 --
2756
2757 CREATE INDEX index_reports_on_user_id ON public.reports USING btree (user_id);
2758
2759
2760 --
2761 -- Name: index_social_links_on_user_id; Type: INDEX; Schema: public; Owner: -
2762 --
2763
2764 CREATE INDEX index_social_links_on_user_id ON public.social_links USING btree (user_id);
2765
2766
2767 --
2768 -- Name: index_user_blocks_on_creator_id_and_id; Type: INDEX; Schema: public; Owner: -
2769 --
2770
2771 CREATE INDEX index_user_blocks_on_creator_id_and_id ON public.user_blocks USING btree (creator_id, id);
2772
2773
2774 --
2775 -- Name: index_user_blocks_on_user_id; Type: INDEX; Schema: public; Owner: -
2776 --
2777
2778 CREATE INDEX index_user_blocks_on_user_id ON public.user_blocks USING btree (user_id);
2779
2780
2781 --
2782 -- Name: index_user_mutes_on_owner_id_and_subject_id; Type: INDEX; Schema: public; Owner: -
2783 --
2784
2785 CREATE UNIQUE INDEX index_user_mutes_on_owner_id_and_subject_id ON public.user_mutes USING btree (owner_id, subject_id);
2786
2787
2788 --
2789 -- Name: index_users_on_creation_address; Type: INDEX; Schema: public; Owner: -
2790 --
2791
2792 CREATE INDEX index_users_on_creation_address ON public.users USING gist (creation_address inet_ops);
2793
2794
2795 --
2796 -- Name: messages_from_user_id_idx; Type: INDEX; Schema: public; Owner: -
2797 --
2798
2799 CREATE INDEX messages_from_user_id_idx ON public.messages USING btree (from_user_id);
2800
2801
2802 --
2803 -- Name: messages_to_user_id_idx; Type: INDEX; Schema: public; Owner: -
2804 --
2805
2806 CREATE INDEX messages_to_user_id_idx ON public.messages USING btree (to_user_id);
2807
2808
2809 --
2810 -- Name: nodes_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
2811 --
2812
2813 CREATE INDEX nodes_changeset_id_idx ON public.nodes USING btree (changeset_id);
2814
2815
2816 --
2817 -- Name: nodes_tile_idx; Type: INDEX; Schema: public; Owner: -
2818 --
2819
2820 CREATE INDEX nodes_tile_idx ON public.nodes USING btree (tile);
2821
2822
2823 --
2824 -- Name: nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2825 --
2826
2827 CREATE INDEX nodes_timestamp_idx ON public.nodes USING btree ("timestamp");
2828
2829
2830 --
2831 -- Name: note_comments_note_id_idx; Type: INDEX; Schema: public; Owner: -
2832 --
2833
2834 CREATE INDEX note_comments_note_id_idx ON public.note_comments USING btree (note_id);
2835
2836
2837 --
2838 -- Name: notes_created_at_idx; Type: INDEX; Schema: public; Owner: -
2839 --
2840
2841 CREATE INDEX notes_created_at_idx ON public.notes USING btree (created_at);
2842
2843
2844 --
2845 -- Name: notes_tile_status_idx; Type: INDEX; Schema: public; Owner: -
2846 --
2847
2848 CREATE INDEX notes_tile_status_idx ON public.notes USING btree (tile, status);
2849
2850
2851 --
2852 -- Name: notes_updated_at_idx; Type: INDEX; Schema: public; Owner: -
2853 --
2854
2855 CREATE INDEX notes_updated_at_idx ON public.notes USING btree (updated_at);
2856
2857
2858 --
2859 -- Name: points_gpxid_idx; Type: INDEX; Schema: public; Owner: -
2860 --
2861
2862 CREATE INDEX points_gpxid_idx ON public.gps_points USING btree (gpx_id);
2863
2864
2865 --
2866 -- Name: points_tile_idx; Type: INDEX; Schema: public; Owner: -
2867 --
2868
2869 CREATE INDEX points_tile_idx ON public.gps_points USING btree (tile);
2870
2871
2872 --
2873 -- Name: relation_members_member_idx; Type: INDEX; Schema: public; Owner: -
2874 --
2875
2876 CREATE INDEX relation_members_member_idx ON public.relation_members USING btree (member_type, member_id);
2877
2878
2879 --
2880 -- Name: relations_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
2881 --
2882
2883 CREATE INDEX relations_changeset_id_idx ON public.relations USING btree (changeset_id);
2884
2885
2886 --
2887 -- Name: relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2888 --
2889
2890 CREATE INDEX relations_timestamp_idx ON public.relations USING btree ("timestamp");
2891
2892
2893 --
2894 -- Name: user_id_idx; Type: INDEX; Schema: public; Owner: -
2895 --
2896
2897 CREATE INDEX user_id_idx ON public.friends USING btree (friend_user_id);
2898
2899
2900 --
2901 -- Name: user_roles_id_role_unique; Type: INDEX; Schema: public; Owner: -
2902 --
2903
2904 CREATE UNIQUE INDEX user_roles_id_role_unique ON public.user_roles USING btree (user_id, role);
2905
2906
2907 --
2908 -- Name: users_auth_idx; Type: INDEX; Schema: public; Owner: -
2909 --
2910
2911 CREATE UNIQUE INDEX users_auth_idx ON public.users USING btree (auth_provider, auth_uid);
2912
2913
2914 --
2915 -- Name: users_display_name_canonical_idx; Type: INDEX; Schema: public; Owner: -
2916 --
2917
2918 CREATE INDEX users_display_name_canonical_idx ON public.users USING btree (lower(NORMALIZE(display_name, NFKC)));
2919
2920
2921 --
2922 -- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -
2923 --
2924
2925 CREATE UNIQUE INDEX users_display_name_idx ON public.users USING btree (display_name);
2926
2927
2928 --
2929 -- Name: users_email_idx; Type: INDEX; Schema: public; Owner: -
2930 --
2931
2932 CREATE UNIQUE INDEX users_email_idx ON public.users USING btree (email);
2933
2934
2935 --
2936 -- Name: users_email_lower_idx; Type: INDEX; Schema: public; Owner: -
2937 --
2938
2939 CREATE INDEX users_email_lower_idx ON public.users USING btree (lower((email)::text));
2940
2941
2942 --
2943 -- Name: users_home_idx; Type: INDEX; Schema: public; Owner: -
2944 --
2945
2946 CREATE INDEX users_home_idx ON public.users USING btree (home_tile);
2947
2948
2949 --
2950 -- Name: way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -
2951 --
2952
2953 CREATE INDEX way_nodes_node_idx ON public.way_nodes USING btree (node_id);
2954
2955
2956 --
2957 -- Name: ways_changeset_id_idx; Type: INDEX; Schema: public; Owner: -
2958 --
2959
2960 CREATE INDEX ways_changeset_id_idx ON public.ways USING btree (changeset_id);
2961
2962
2963 --
2964 -- Name: ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -
2965 --
2966
2967 CREATE INDEX ways_timestamp_idx ON public.ways USING btree ("timestamp");
2968
2969
2970 --
2971 -- Name: changeset_comments changeset_comments_author_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2972 --
2973
2974 ALTER TABLE ONLY public.changeset_comments
2975     ADD CONSTRAINT changeset_comments_author_id_fkey FOREIGN KEY (author_id) REFERENCES public.users(id);
2976
2977
2978 --
2979 -- Name: changeset_comments changeset_comments_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2980 --
2981
2982 ALTER TABLE ONLY public.changeset_comments
2983     ADD CONSTRAINT changeset_comments_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
2984
2985
2986 --
2987 -- Name: changeset_tags changeset_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2988 --
2989
2990 ALTER TABLE ONLY public.changeset_tags
2991     ADD CONSTRAINT changeset_tags_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
2992
2993
2994 --
2995 -- Name: changesets_subscribers changesets_subscribers_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2996 --
2997
2998 ALTER TABLE ONLY public.changesets_subscribers
2999     ADD CONSTRAINT changesets_subscribers_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3000
3001
3002 --
3003 -- Name: changesets_subscribers changesets_subscribers_subscriber_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3004 --
3005
3006 ALTER TABLE ONLY public.changesets_subscribers
3007     ADD CONSTRAINT changesets_subscribers_subscriber_id_fkey FOREIGN KEY (subscriber_id) REFERENCES public.users(id);
3008
3009
3010 --
3011 -- Name: changesets changesets_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3012 --
3013
3014 ALTER TABLE ONLY public.changesets
3015     ADD CONSTRAINT changesets_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3016
3017
3018 --
3019 -- Name: current_node_tags current_node_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3020 --
3021
3022 ALTER TABLE ONLY public.current_node_tags
3023     ADD CONSTRAINT current_node_tags_id_fkey FOREIGN KEY (node_id) REFERENCES public.current_nodes(id);
3024
3025
3026 --
3027 -- Name: current_nodes current_nodes_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3028 --
3029
3030 ALTER TABLE ONLY public.current_nodes
3031     ADD CONSTRAINT current_nodes_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3032
3033
3034 --
3035 -- Name: current_relation_members current_relation_members_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3036 --
3037
3038 ALTER TABLE ONLY public.current_relation_members
3039     ADD CONSTRAINT current_relation_members_id_fkey FOREIGN KEY (relation_id) REFERENCES public.current_relations(id);
3040
3041
3042 --
3043 -- Name: current_relation_tags current_relation_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3044 --
3045
3046 ALTER TABLE ONLY public.current_relation_tags
3047     ADD CONSTRAINT current_relation_tags_id_fkey FOREIGN KEY (relation_id) REFERENCES public.current_relations(id);
3048
3049
3050 --
3051 -- Name: current_relations current_relations_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3052 --
3053
3054 ALTER TABLE ONLY public.current_relations
3055     ADD CONSTRAINT current_relations_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3056
3057
3058 --
3059 -- Name: current_way_nodes current_way_nodes_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3060 --
3061
3062 ALTER TABLE ONLY public.current_way_nodes
3063     ADD CONSTRAINT current_way_nodes_id_fkey FOREIGN KEY (way_id) REFERENCES public.current_ways(id);
3064
3065
3066 --
3067 -- Name: current_way_nodes current_way_nodes_node_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3068 --
3069
3070 ALTER TABLE ONLY public.current_way_nodes
3071     ADD CONSTRAINT current_way_nodes_node_id_fkey FOREIGN KEY (node_id) REFERENCES public.current_nodes(id);
3072
3073
3074 --
3075 -- Name: current_way_tags current_way_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3076 --
3077
3078 ALTER TABLE ONLY public.current_way_tags
3079     ADD CONSTRAINT current_way_tags_id_fkey FOREIGN KEY (way_id) REFERENCES public.current_ways(id);
3080
3081
3082 --
3083 -- Name: current_ways current_ways_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3084 --
3085
3086 ALTER TABLE ONLY public.current_ways
3087     ADD CONSTRAINT current_ways_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3088
3089
3090 --
3091 -- Name: diary_comments diary_comments_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3092 --
3093
3094 ALTER TABLE ONLY public.diary_comments
3095     ADD CONSTRAINT diary_comments_diary_entry_id_fkey FOREIGN KEY (diary_entry_id) REFERENCES public.diary_entries(id);
3096
3097
3098 --
3099 -- Name: diary_comments diary_comments_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3100 --
3101
3102 ALTER TABLE ONLY public.diary_comments
3103     ADD CONSTRAINT diary_comments_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3104
3105
3106 --
3107 -- Name: diary_entries diary_entries_language_code_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3108 --
3109
3110 ALTER TABLE ONLY public.diary_entries
3111     ADD CONSTRAINT diary_entries_language_code_fkey FOREIGN KEY (language_code) REFERENCES public.languages(code);
3112
3113
3114 --
3115 -- Name: diary_entries diary_entries_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3116 --
3117
3118 ALTER TABLE ONLY public.diary_entries
3119     ADD CONSTRAINT diary_entries_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3120
3121
3122 --
3123 -- Name: diary_entry_subscriptions diary_entry_subscriptions_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3124 --
3125
3126 ALTER TABLE ONLY public.diary_entry_subscriptions
3127     ADD CONSTRAINT diary_entry_subscriptions_diary_entry_id_fkey FOREIGN KEY (diary_entry_id) REFERENCES public.diary_entries(id);
3128
3129
3130 --
3131 -- Name: diary_entry_subscriptions diary_entry_subscriptions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3132 --
3133
3134 ALTER TABLE ONLY public.diary_entry_subscriptions
3135     ADD CONSTRAINT diary_entry_subscriptions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3136
3137
3138 --
3139 -- Name: note_subscriptions fk_rails_2c1913f293; Type: FK CONSTRAINT; Schema: public; Owner: -
3140 --
3141
3142 ALTER TABLE ONLY public.note_subscriptions
3143     ADD CONSTRAINT fk_rails_2c1913f293 FOREIGN KEY (note_id) REFERENCES public.notes(id);
3144
3145
3146 --
3147 -- Name: oauth_access_grants fk_rails_330c32d8d9; Type: FK CONSTRAINT; Schema: public; Owner: -
3148 --
3149
3150 ALTER TABLE ONLY public.oauth_access_grants
3151     ADD CONSTRAINT fk_rails_330c32d8d9 FOREIGN KEY (resource_owner_id) REFERENCES public.users(id) NOT VALID;
3152
3153
3154 --
3155 -- Name: user_mutes fk_rails_591dad3359; Type: FK CONSTRAINT; Schema: public; Owner: -
3156 --
3157
3158 ALTER TABLE ONLY public.user_mutes
3159     ADD CONSTRAINT fk_rails_591dad3359 FOREIGN KEY (owner_id) REFERENCES public.users(id);
3160
3161
3162 --
3163 -- Name: social_links fk_rails_6034fd4f62; Type: FK CONSTRAINT; Schema: public; Owner: -
3164 --
3165
3166 ALTER TABLE ONLY public.social_links
3167     ADD CONSTRAINT fk_rails_6034fd4f62 FOREIGN KEY (user_id) REFERENCES public.users(id);
3168
3169
3170 --
3171 -- Name: oauth_access_tokens fk_rails_732cb83ab7; Type: FK CONSTRAINT; Schema: public; Owner: -
3172 --
3173
3174 ALTER TABLE ONLY public.oauth_access_tokens
3175     ADD CONSTRAINT fk_rails_732cb83ab7 FOREIGN KEY (application_id) REFERENCES public.oauth_applications(id) NOT VALID;
3176
3177
3178 --
3179 -- Name: oauth_openid_requests fk_rails_77114b3b09; Type: FK CONSTRAINT; Schema: public; Owner: -
3180 --
3181
3182 ALTER TABLE ONLY public.oauth_openid_requests
3183     ADD CONSTRAINT fk_rails_77114b3b09 FOREIGN KEY (access_grant_id) REFERENCES public.oauth_access_grants(id) ON DELETE CASCADE;
3184
3185
3186 --
3187 -- Name: active_storage_variant_records fk_rails_993965df05; Type: FK CONSTRAINT; Schema: public; Owner: -
3188 --
3189
3190 ALTER TABLE ONLY public.active_storage_variant_records
3191     ADD CONSTRAINT fk_rails_993965df05 FOREIGN KEY (blob_id) REFERENCES public.active_storage_blobs(id);
3192
3193
3194 --
3195 -- Name: note_subscriptions fk_rails_a352f4eced; Type: FK CONSTRAINT; Schema: public; Owner: -
3196 --
3197
3198 ALTER TABLE ONLY public.note_subscriptions
3199     ADD CONSTRAINT fk_rails_a352f4eced FOREIGN KEY (user_id) REFERENCES public.users(id);
3200
3201
3202 --
3203 -- Name: oauth_access_grants fk_rails_b4b53e07b8; Type: FK CONSTRAINT; Schema: public; Owner: -
3204 --
3205
3206 ALTER TABLE ONLY public.oauth_access_grants
3207     ADD CONSTRAINT fk_rails_b4b53e07b8 FOREIGN KEY (application_id) REFERENCES public.oauth_applications(id) NOT VALID;
3208
3209
3210 --
3211 -- Name: active_storage_attachments fk_rails_c3b3935057; Type: FK CONSTRAINT; Schema: public; Owner: -
3212 --
3213
3214 ALTER TABLE ONLY public.active_storage_attachments
3215     ADD CONSTRAINT fk_rails_c3b3935057 FOREIGN KEY (blob_id) REFERENCES public.active_storage_blobs(id);
3216
3217
3218 --
3219 -- Name: oauth_applications fk_rails_cc886e315a; Type: FK CONSTRAINT; Schema: public; Owner: -
3220 --
3221
3222 ALTER TABLE ONLY public.oauth_applications
3223     ADD CONSTRAINT fk_rails_cc886e315a FOREIGN KEY (owner_id) REFERENCES public.users(id) NOT VALID;
3224
3225
3226 --
3227 -- Name: user_mutes fk_rails_e9dd4fb6c3; Type: FK CONSTRAINT; Schema: public; Owner: -
3228 --
3229
3230 ALTER TABLE ONLY public.user_mutes
3231     ADD CONSTRAINT fk_rails_e9dd4fb6c3 FOREIGN KEY (subject_id) REFERENCES public.users(id);
3232
3233
3234 --
3235 -- Name: oauth_access_tokens fk_rails_ee63f25419; Type: FK CONSTRAINT; Schema: public; Owner: -
3236 --
3237
3238 ALTER TABLE ONLY public.oauth_access_tokens
3239     ADD CONSTRAINT fk_rails_ee63f25419 FOREIGN KEY (resource_owner_id) REFERENCES public.users(id) NOT VALID;
3240
3241
3242 --
3243 -- Name: friends friends_friend_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3244 --
3245
3246 ALTER TABLE ONLY public.friends
3247     ADD CONSTRAINT friends_friend_user_id_fkey FOREIGN KEY (friend_user_id) REFERENCES public.users(id);
3248
3249
3250 --
3251 -- Name: friends friends_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3252 --
3253
3254 ALTER TABLE ONLY public.friends
3255     ADD CONSTRAINT friends_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3256
3257
3258 --
3259 -- Name: gps_points gps_points_gpx_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3260 --
3261
3262 ALTER TABLE ONLY public.gps_points
3263     ADD CONSTRAINT gps_points_gpx_id_fkey FOREIGN KEY (gpx_id) REFERENCES public.gpx_files(id);
3264
3265
3266 --
3267 -- Name: gpx_file_tags gpx_file_tags_gpx_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3268 --
3269
3270 ALTER TABLE ONLY public.gpx_file_tags
3271     ADD CONSTRAINT gpx_file_tags_gpx_id_fkey FOREIGN KEY (gpx_id) REFERENCES public.gpx_files(id);
3272
3273
3274 --
3275 -- Name: gpx_files gpx_files_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3276 --
3277
3278 ALTER TABLE ONLY public.gpx_files
3279     ADD CONSTRAINT gpx_files_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3280
3281
3282 --
3283 -- Name: issue_comments issue_comments_issue_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3284 --
3285
3286 ALTER TABLE ONLY public.issue_comments
3287     ADD CONSTRAINT issue_comments_issue_id_fkey FOREIGN KEY (issue_id) REFERENCES public.issues(id);
3288
3289
3290 --
3291 -- Name: issue_comments issue_comments_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3292 --
3293
3294 ALTER TABLE ONLY public.issue_comments
3295     ADD CONSTRAINT issue_comments_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3296
3297
3298 --
3299 -- Name: issues issues_reported_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3300 --
3301
3302 ALTER TABLE ONLY public.issues
3303     ADD CONSTRAINT issues_reported_user_id_fkey FOREIGN KEY (reported_user_id) REFERENCES public.users(id);
3304
3305
3306 --
3307 -- Name: issues issues_resolved_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3308 --
3309
3310 ALTER TABLE ONLY public.issues
3311     ADD CONSTRAINT issues_resolved_by_fkey FOREIGN KEY (resolved_by) REFERENCES public.users(id);
3312
3313
3314 --
3315 -- Name: issues issues_updated_by_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3316 --
3317
3318 ALTER TABLE ONLY public.issues
3319     ADD CONSTRAINT issues_updated_by_fkey FOREIGN KEY (updated_by) REFERENCES public.users(id);
3320
3321
3322 --
3323 -- Name: messages messages_from_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3324 --
3325
3326 ALTER TABLE ONLY public.messages
3327     ADD CONSTRAINT messages_from_user_id_fkey FOREIGN KEY (from_user_id) REFERENCES public.users(id);
3328
3329
3330 --
3331 -- Name: messages messages_to_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3332 --
3333
3334 ALTER TABLE ONLY public.messages
3335     ADD CONSTRAINT messages_to_user_id_fkey FOREIGN KEY (to_user_id) REFERENCES public.users(id);
3336
3337
3338 --
3339 -- Name: node_tags node_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3340 --
3341
3342 ALTER TABLE ONLY public.node_tags
3343     ADD CONSTRAINT node_tags_id_fkey FOREIGN KEY (node_id, version) REFERENCES public.nodes(node_id, version);
3344
3345
3346 --
3347 -- Name: nodes nodes_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3348 --
3349
3350 ALTER TABLE ONLY public.nodes
3351     ADD CONSTRAINT nodes_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3352
3353
3354 --
3355 -- Name: nodes nodes_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3356 --
3357
3358 ALTER TABLE ONLY public.nodes
3359     ADD CONSTRAINT nodes_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES public.redactions(id);
3360
3361
3362 --
3363 -- Name: note_comments note_comments_author_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3364 --
3365
3366 ALTER TABLE ONLY public.note_comments
3367     ADD CONSTRAINT note_comments_author_id_fkey FOREIGN KEY (author_id) REFERENCES public.users(id);
3368
3369
3370 --
3371 -- Name: note_comments note_comments_note_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3372 --
3373
3374 ALTER TABLE ONLY public.note_comments
3375     ADD CONSTRAINT note_comments_note_id_fkey FOREIGN KEY (note_id) REFERENCES public.notes(id);
3376
3377
3378 --
3379 -- Name: notes notes_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3380 --
3381
3382 ALTER TABLE ONLY public.notes
3383     ADD CONSTRAINT notes_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3384
3385
3386 --
3387 -- Name: redactions redactions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3388 --
3389
3390 ALTER TABLE ONLY public.redactions
3391     ADD CONSTRAINT redactions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3392
3393
3394 --
3395 -- Name: relation_members relation_members_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3396 --
3397
3398 ALTER TABLE ONLY public.relation_members
3399     ADD CONSTRAINT relation_members_id_fkey FOREIGN KEY (relation_id, version) REFERENCES public.relations(relation_id, version);
3400
3401
3402 --
3403 -- Name: relation_tags relation_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3404 --
3405
3406 ALTER TABLE ONLY public.relation_tags
3407     ADD CONSTRAINT relation_tags_id_fkey FOREIGN KEY (relation_id, version) REFERENCES public.relations(relation_id, version);
3408
3409
3410 --
3411 -- Name: relations relations_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3412 --
3413
3414 ALTER TABLE ONLY public.relations
3415     ADD CONSTRAINT relations_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3416
3417
3418 --
3419 -- Name: relations relations_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3420 --
3421
3422 ALTER TABLE ONLY public.relations
3423     ADD CONSTRAINT relations_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES public.redactions(id);
3424
3425
3426 --
3427 -- Name: reports reports_issue_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3428 --
3429
3430 ALTER TABLE ONLY public.reports
3431     ADD CONSTRAINT reports_issue_id_fkey FOREIGN KEY (issue_id) REFERENCES public.issues(id);
3432
3433
3434 --
3435 -- Name: reports reports_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3436 --
3437
3438 ALTER TABLE ONLY public.reports
3439     ADD CONSTRAINT reports_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3440
3441
3442 --
3443 -- Name: user_blocks user_blocks_moderator_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3444 --
3445
3446 ALTER TABLE ONLY public.user_blocks
3447     ADD CONSTRAINT user_blocks_moderator_id_fkey FOREIGN KEY (creator_id) REFERENCES public.users(id);
3448
3449
3450 --
3451 -- Name: user_blocks user_blocks_revoker_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3452 --
3453
3454 ALTER TABLE ONLY public.user_blocks
3455     ADD CONSTRAINT user_blocks_revoker_id_fkey FOREIGN KEY (revoker_id) REFERENCES public.users(id);
3456
3457
3458 --
3459 -- Name: user_blocks user_blocks_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3460 --
3461
3462 ALTER TABLE ONLY public.user_blocks
3463     ADD CONSTRAINT user_blocks_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3464
3465
3466 --
3467 -- Name: user_preferences user_preferences_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3468 --
3469
3470 ALTER TABLE ONLY public.user_preferences
3471     ADD CONSTRAINT user_preferences_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3472
3473
3474 --
3475 -- Name: user_roles user_roles_granter_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3476 --
3477
3478 ALTER TABLE ONLY public.user_roles
3479     ADD CONSTRAINT user_roles_granter_id_fkey FOREIGN KEY (granter_id) REFERENCES public.users(id);
3480
3481
3482 --
3483 -- Name: user_roles user_roles_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3484 --
3485
3486 ALTER TABLE ONLY public.user_roles
3487     ADD CONSTRAINT user_roles_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.users(id);
3488
3489
3490 --
3491 -- Name: way_nodes way_nodes_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3492 --
3493
3494 ALTER TABLE ONLY public.way_nodes
3495     ADD CONSTRAINT way_nodes_id_fkey FOREIGN KEY (way_id, version) REFERENCES public.ways(way_id, version);
3496
3497
3498 --
3499 -- Name: way_tags way_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3500 --
3501
3502 ALTER TABLE ONLY public.way_tags
3503     ADD CONSTRAINT way_tags_id_fkey FOREIGN KEY (way_id, version) REFERENCES public.ways(way_id, version);
3504
3505
3506 --
3507 -- Name: ways ways_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3508 --
3509
3510 ALTER TABLE ONLY public.ways
3511     ADD CONSTRAINT ways_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES public.changesets(id);
3512
3513
3514 --
3515 -- Name: ways ways_redaction_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
3516 --
3517
3518 ALTER TABLE ONLY public.ways
3519     ADD CONSTRAINT ways_redaction_id_fkey FOREIGN KEY (redaction_id) REFERENCES public.redactions(id);
3520
3521
3522 --
3523 -- PostgreSQL database dump complete
3524 --
3525
3526 SET search_path TO "$user", public;
3527
3528 INSERT INTO "schema_migrations" (version) VALUES
3529 ('9'),
3530 ('8'),
3531 ('7'),
3532 ('6'),
3533 ('57'),
3534 ('56'),
3535 ('55'),
3536 ('54'),
3537 ('53'),
3538 ('52'),
3539 ('51'),
3540 ('50'),
3541 ('5'),
3542 ('49'),
3543 ('48'),
3544 ('47'),
3545 ('46'),
3546 ('45'),
3547 ('44'),
3548 ('43'),
3549 ('42'),
3550 ('41'),
3551 ('40'),
3552 ('4'),
3553 ('39'),
3554 ('38'),
3555 ('37'),
3556 ('36'),
3557 ('35'),
3558 ('34'),
3559 ('33'),
3560 ('32'),
3561 ('31'),
3562 ('30'),
3563 ('3'),
3564 ('29'),
3565 ('28'),
3566 ('27'),
3567 ('26'),
3568 ('25'),
3569 ('24'),
3570 ('23'),
3571 ('22'),
3572 ('21'),
3573 ('20251218105716'),
3574 ('20251121134648'),
3575 ('20250704143751'),
3576 ('20250506052030'),
3577 ('20250304172798'),
3578 ('20250304172758'),
3579 ('20250217140049'),
3580 ('20250212160355'),
3581 ('20250206202905'),
3582 ('20250121191749'),
3583 ('20250105154621'),
3584 ('20250104140952'),
3585 ('20241030090336'),
3586 ('20241023004427'),
3587 ('20241022141247'),
3588 ('20240913171951'),
3589 ('20240912181413'),
3590 ('20240910175616'),
3591 ('20240822121603'),
3592 ('20240813070506'),
3593 ('20240724194738'),
3594 ('20240618193051'),
3595 ('20240605134916'),
3596 ('20240405083825'),
3597 ('20240307181018'),
3598 ('20240307180830'),
3599 ('20240228205723'),
3600 ('20240117185445'),
3601 ('20231213182102'),
3602 ('20231206141457'),
3603 ('20231117170422'),
3604 ('20231101222146'),
3605 ('20231029151516'),
3606 ('20231010203028'),
3607 ('20231010201451'),
3608 ('20231010194809'),
3609 ('20231007141103'),
3610 ('20230830115220'),
3611 ('20230830115219'),
3612 ('20230825162137'),
3613 ('20230816135800'),
3614 ('20220223140543'),
3615 ('20220201183346'),
3616 ('20211216185316'),
3617 ('20210511104518'),
3618 ('20210510083028'),
3619 ('20210510083027'),
3620 ('20201214144017'),
3621 ('20201006220807'),
3622 ('20201006213836'),
3623 ('20201004105659'),
3624 ('20191120140058'),
3625 ('20190716173946'),
3626 ('20190702193519'),
3627 ('20190623093642'),
3628 ('20190518115041'),
3629 ('20181031113522'),
3630 ('20181020114000'),
3631 ('20180204153242'),
3632 ('20170222134109'),
3633 ('20161011010929'),
3634 ('20161002153425'),
3635 ('20160822153055'),
3636 ('20150818224516'),
3637 ('20150222101847'),
3638 ('20150111192335'),
3639 ('20150110152606'),
3640 ('20140519141742'),
3641 ('20140507110937'),
3642 ('20140210003018'),
3643 ('20140117185510'),
3644 ('20140115192822'),
3645 ('20131212124700'),
3646 ('20130328184137'),
3647 ('20121203124841'),
3648 ('20121202155309'),
3649 ('20121119165817'),
3650 ('20121012044047'),
3651 ('20121005195010'),
3652 ('20120808231205'),
3653 ('20120404205604'),
3654 ('20120328090602'),
3655 ('20120318201948'),
3656 ('20120219161649'),
3657 ('20120214210114'),
3658 ('20120208194454'),
3659 ('20120208122334'),
3660 ('20120123184321'),
3661 ('20111212183945'),
3662 ('20111116184519'),
3663 ('20110925112722'),
3664 ('20110521142405'),
3665 ('20110508145337'),
3666 ('20110322001319'),
3667 ('20101114011429'),
3668 ('20100910084426'),
3669 ('20100516124737'),
3670 ('20100513171259'),
3671 ('20'),
3672 ('2'),
3673 ('19'),
3674 ('18'),
3675 ('17'),
3676 ('16'),
3677 ('15'),
3678 ('14'),
3679 ('13'),
3680 ('12'),
3681 ('11'),
3682 ('10'),
3683 ('1');
3684