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