2
2
-- PostgreSQL database dump
3
3
--
4
4
5
- -- Dumped from database version 10.4
6
- -- Dumped by pg_dump version 10.4
5
+ -- Dumped from database version 11.2
6
+ -- Dumped by pg_dump version 11.2
7
7
8
8
SET statement_timeout = 0 ;
9
9
SET lock_timeout = 0 ;
@@ -36,20 +36,6 @@ CREATE SCHEMA app_private;
36
36
CREATE SCHEMA app_public ;
37
37
38
38
39
- --
40
- -- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
41
- --
42
-
43
- CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
44
-
45
-
46
- --
47
- -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
48
- --
49
-
50
- COMMENT ON EXTENSION plpgsql IS ' PL/pgSQL procedural language' ;
51
-
52
-
53
39
--
54
40
-- Name: citext; Type: EXTENSION; Schema: -; Owner: -
55
41
--
@@ -384,7 +370,7 @@ COMMENT ON COLUMN app_public.users.is_admin IS 'If true, the user has elevated p
384
370
385
371
CREATE FUNCTION app_private .link_or_register_user(f_user_id integer , f_service character varying, f_identifier character varying, f_profile json, f_auth_details json) RETURNS app_public .users
386
372
LANGUAGE plpgsql SECURITY DEFINER
387
- SET search_path TO " $user" , public
373
+ SET search_path TO ' $user' , ' public'
388
374
AS $$
389
375
declare
390
376
v_matched_user_id int ;
@@ -474,7 +460,7 @@ COMMENT ON FUNCTION app_private.link_or_register_user(f_user_id integer, f_servi
474
460
475
461
CREATE FUNCTION app_private .login(username text , password text ) RETURNS app_public .users
476
462
LANGUAGE plpgsql STRICT SECURITY DEFINER
477
- SET search_path TO " $user" , public
463
+ SET search_path TO ' $user' , ' public'
478
464
AS $$
479
465
declare
480
466
v_user app_public .users ;
@@ -550,7 +536,7 @@ COMMENT ON FUNCTION app_private.login(username text, password text) IS 'Returns
550
536
551
537
CREATE FUNCTION app_private .really_create_user(username text , email text , email_is_verified boolean , name text , avatar_url text , password text DEFAULT NULL ::text ) RETURNS app_public .users
552
538
LANGUAGE plpgsql
553
- SET search_path TO " $user" , public
539
+ SET search_path TO ' $user' , ' public'
554
540
AS $$
555
541
declare
556
542
v_user app_public .users ;
@@ -619,7 +605,7 @@ COMMENT ON FUNCTION app_private.really_create_user(username text, email text, em
619
605
620
606
CREATE FUNCTION app_private .register_user(f_service character varying, f_identifier character varying, f_profile json, f_auth_details json, f_email_is_verified boolean DEFAULT false) RETURNS app_public .users
621
607
LANGUAGE plpgsql SECURITY DEFINER
622
- SET search_path TO " $user" , public
608
+ SET search_path TO ' $user' , ' public'
623
609
AS $$
624
610
declare
625
611
v_user app_public .users ;
@@ -668,7 +654,7 @@ COMMENT ON FUNCTION app_private.register_user(f_service character varying, f_ide
668
654
669
655
CREATE FUNCTION app_private .tg__add_job_for_row() RETURNS trigger
670
656
LANGUAGE plpgsql
671
- SET search_path TO " $user" , public
657
+ SET search_path TO ' $user' , ' public'
672
658
AS $$
673
659
begin
674
660
perform app_jobs .add_job (tg_argv[0 ], json_build_object(' id' , NEW .id ));
@@ -690,11 +676,11 @@ COMMENT ON FUNCTION app_private.tg__add_job_for_row() IS 'Useful shortcut to cre
690
676
691
677
CREATE FUNCTION app_private .tg__update_timestamps() RETURNS trigger
692
678
LANGUAGE plpgsql
693
- SET search_path TO " $user" , public
679
+ SET search_path TO ' $user' , ' public'
694
680
AS $$
695
681
begin
696
682
NEW .created_at = (case when TG_OP = ' INSERT' then NOW() else OLD .created_at end);
697
- NEW .updated_at = (case when TG_OP = ' UPDATE' and OLD .updated_at < = NOW() then OLD .updated_at + interval ' 1 millisecond' else NOW() end);
683
+ NEW .updated_at = (case when TG_OP = ' UPDATE' and OLD .updated_at > = NOW() then OLD .updated_at + interval ' 1 millisecond' else NOW() end);
698
684
return NEW;
699
685
end;
700
686
$$;
@@ -713,7 +699,7 @@ COMMENT ON FUNCTION app_private.tg__update_timestamps() IS 'This trigger should
713
699
714
700
CREATE FUNCTION app_private .tg_user_email_secrets__insert_with_user_email() RETURNS trigger
715
701
LANGUAGE plpgsql
716
- SET search_path TO " $user" , public
702
+ SET search_path TO ' $user' , ' public'
717
703
AS $$
718
704
declare
719
705
v_verification_token text ;
@@ -740,7 +726,7 @@ COMMENT ON FUNCTION app_private.tg_user_email_secrets__insert_with_user_email()
740
726
741
727
CREATE FUNCTION app_private .tg_user_secrets__insert_with_user() RETURNS trigger
742
728
LANGUAGE plpgsql
743
- SET search_path TO " $user" , public
729
+ SET search_path TO ' $user' , ' public'
744
730
AS $$
745
731
begin
746
732
insert into app_private .user_secrets (user_id) values (NEW .id );
@@ -762,7 +748,7 @@ COMMENT ON FUNCTION app_private.tg_user_secrets__insert_with_user() IS 'Ensures
762
748
763
749
CREATE FUNCTION app_private .tg_users__make_first_user_admin() RETURNS trigger
764
750
LANGUAGE plpgsql
765
- SET search_path TO " $user" , public
751
+ SET search_path TO ' $user' , ' public'
766
752
AS $$
767
753
begin
768
754
if not exists(select 1 from app_public .users ) then
779
765
780
766
CREATE FUNCTION app_public ." current_user" () RETURNS app_public .users
781
767
LANGUAGE sql STABLE
782
- SET search_path TO " $user" , public
768
+ SET search_path TO ' $user' , ' public'
783
769
AS $$
784
770
select users.* from app_public .users where id = app_public .current_user_id ();
785
771
$$;
791
777
792
778
CREATE FUNCTION app_public .current_user_id() RETURNS integer
793
779
LANGUAGE sql STABLE
794
- SET search_path TO " $user" , public
780
+ SET search_path TO ' $user' , ' public'
795
781
AS $$
796
782
select nullif(current_setting(' jwt.claims.user_id' , true), ' ' )::int ;
797
783
$$;
@@ -811,7 +797,7 @@ Handy method to get the current user ID for use in RLS policies, etc; in GraphQL
811
797
812
798
CREATE FUNCTION app_public .current_user_is_admin() RETURNS boolean
813
799
LANGUAGE sql STABLE
814
- SET search_path TO " $user" , public
800
+ SET search_path TO ' $user' , ' public'
815
801
AS $$
816
802
-- We're using exists here because it guarantees true/false rather than true/false/null
817
803
select exists(
@@ -834,7 +820,7 @@ Handy method to determine if the current user is an admin, for use in RLS polici
834
820
835
821
CREATE FUNCTION app_public .forgot_password(email text ) RETURNS boolean
836
822
LANGUAGE plpgsql STRICT SECURITY DEFINER
837
- SET search_path TO " $user" , public
823
+ SET search_path TO ' $user' , ' public'
838
824
AS $$
839
825
declare
840
826
v_user_email app_public .user_emails ;
@@ -982,7 +968,7 @@ COMMENT ON FUNCTION app_public.random_number() IS 'Chosen by fair dice roll. Gua
982
968
983
969
CREATE FUNCTION app_public .reset_password(user_id integer , reset_token text , new_password text ) RETURNS app_public .users
984
970
LANGUAGE plpgsql STRICT SECURITY DEFINER
985
- SET search_path TO " $user" , public
971
+ SET search_path TO ' $user' , ' public'
986
972
AS $$
987
973
declare
988
974
v_user app_public .users ;
@@ -1091,7 +1077,7 @@ COMMENT ON COLUMN app_public.topics.body IS 'The body of the `Topic`, which Post
1091
1077
1092
1078
CREATE FUNCTION app_public .topics_body_summary(t app_public .topics , max_length integer DEFAULT 30 ) RETURNS text
1093
1079
LANGUAGE sql STABLE
1094
- SET search_path TO " $user" , public
1080
+ SET search_path TO ' $user' , ' public'
1095
1081
AS $$
1096
1082
select case
1097
1083
when length(t .body ) > max_length
@@ -1672,42 +1658,42 @@ CREATE TRIGGER _900_notify_worker AFTER INSERT ON app_jobs.jobs FOR EACH STATEME
1672
1658
-- Name: users _100_timestamps; Type: TRIGGER; Schema: app_public; Owner: -
1673
1659
--
1674
1660
1675
- CREATE TRIGGER _100_timestamps AFTER INSERT OR UPDATE ON app_public .users FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1661
+ CREATE TRIGGER _100_timestamps BEFORE INSERT OR UPDATE ON app_public .users FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1676
1662
1677
1663
1678
1664
--
1679
1665
-- Name: user_emails _100_timestamps; Type: TRIGGER; Schema: app_public; Owner: -
1680
1666
--
1681
1667
1682
- CREATE TRIGGER _100_timestamps AFTER INSERT OR UPDATE ON app_public .user_emails FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1668
+ CREATE TRIGGER _100_timestamps BEFORE INSERT OR UPDATE ON app_public .user_emails FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1683
1669
1684
1670
1685
1671
--
1686
1672
-- Name: user_authentications _100_timestamps; Type: TRIGGER; Schema: app_public; Owner: -
1687
1673
--
1688
1674
1689
- CREATE TRIGGER _100_timestamps AFTER INSERT OR UPDATE ON app_public .user_authentications FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1675
+ CREATE TRIGGER _100_timestamps BEFORE INSERT OR UPDATE ON app_public .user_authentications FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1690
1676
1691
1677
1692
1678
--
1693
1679
-- Name: forums _100_timestamps; Type: TRIGGER; Schema: app_public; Owner: -
1694
1680
--
1695
1681
1696
- CREATE TRIGGER _100_timestamps AFTER INSERT OR UPDATE ON app_public .forums FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1682
+ CREATE TRIGGER _100_timestamps BEFORE INSERT OR UPDATE ON app_public .forums FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1697
1683
1698
1684
1699
1685
--
1700
1686
-- Name: topics _100_timestamps; Type: TRIGGER; Schema: app_public; Owner: -
1701
1687
--
1702
1688
1703
- CREATE TRIGGER _100_timestamps AFTER INSERT OR UPDATE ON app_public .topics FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1689
+ CREATE TRIGGER _100_timestamps BEFORE INSERT OR UPDATE ON app_public .topics FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1704
1690
1705
1691
1706
1692
--
1707
1693
-- Name: posts _100_timestamps; Type: TRIGGER; Schema: app_public; Owner: -
1708
1694
--
1709
1695
1710
- CREATE TRIGGER _100_timestamps AFTER INSERT OR UPDATE ON app_public .posts FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1696
+ CREATE TRIGGER _100_timestamps BEFORE INSERT OR UPDATE ON app_public .posts FOR EACH ROW EXECUTE PROCEDURE app_private .tg__update_timestamps ();
1711
1697
1712
1698
1713
1699
--
@@ -2176,8 +2162,8 @@ GRANT SELECT,USAGE ON SEQUENCE app_public.users_id_seq TO graphiledemo_visitor;
2176
2162
-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: app_public; Owner: -
2177
2163
--
2178
2164
2179
- ALTER DEFAULT PRIVILEGES FOR ROLE graphiledemo IN SCHEMA app_public REVOKE ALL ON SEQUENCES FROM graphiledemo ;
2180
- ALTER DEFAULT PRIVILEGES FOR ROLE graphiledemo IN SCHEMA app_public GRANT SELECT ,USAGE ON SEQUENCES TO graphiledemo_visitor;
2165
+ ALTER DEFAULT PRIVILEGES FOR ROLE benjiegillam IN SCHEMA app_public REVOKE ALL ON SEQUENCES FROM benjiegillam ;
2166
+ ALTER DEFAULT PRIVILEGES FOR ROLE benjiegillam IN SCHEMA app_public GRANT SELECT ,USAGE ON SEQUENCES TO graphiledemo_visitor;
2181
2167
2182
2168
2183
2169
--
0 commit comments