@@ -91,29 +91,28 @@ def __repr__(self):
9191 return f'{ cls_name } ("{ self .name } ", { options } )'
9292
9393 def to_sql_create (self , raw : bool = True ) -> list [str ]:
94- segments = ["CREATE ROLE" , self .name ]
94+ segments = ["CREATE ROLE" , generic . quote_name ( self .name ) ]
9595
9696 options = postgres_render_role_options (self , raw = raw )
9797 if options :
9898 segments .append ("WITH" )
9999 segments .extend (options )
100100
101101 if self .in_roles is not None :
102- in_roles = ", " .join (generic .role_names (self .in_roles ))
103- segment = f"IN ROLE { in_roles } "
102+ segment = f"IN ROLE { generic .quote_names (self .in_roles )} "
104103 segments .append (segment )
105104
106105 command = " " .join (segments ) + ";"
107106 return [command ]
108107
109108 def to_sql_update (self , to_role : Role , raw : bool = True ) -> list [str ]:
110- role_name = to_role .name
109+ role_name = generic . quote_name ( to_role .name )
111110 diff = RoleDiff .diff (self , to_role )
112111
113112 result = []
114113
115114 if self .use_role :
116- result .append (f"SET ROLE { self .use_role } ; " )
115+ result .append (f""" SET ROLE " { generic . quote_name ( self .use_role ) } ";"" " )
117116
118117 diff_options = postgres_render_role_options (diff , raw = raw )
119118 if diff_options :
@@ -122,10 +121,12 @@ def to_sql_update(self, to_role: Role, raw: bool = True) -> list[str]:
122121 result .append (alter_role )
123122
124123 for add_name in diff .add_roles :
125- result .append (f"GRANT { add_name } TO { role_name } ;" )
124+ result .append (f""" GRANT { generic . quote_name ( add_name ) } TO { role_name } ;"" " )
126125
127126 for remove_name in diff .remove_roles :
128- result .append (f"REVOKE { remove_name } FROM { role_name } ;" )
127+ result .append (
128+ f"""REVOKE { generic .quote_name (remove_name )} FROM { role_name } ;"""
129+ )
129130
130131 if self .use_role :
131132 result .append ("RESET ROLE" )
0 commit comments