@@ -97,7 +97,7 @@ async fn write_upgrade_files(
9797pub async fn add (
9898 payload : & Payload ,
9999 output_path : & Path ,
100- mut conn : PgConnection ,
100+ mut conn : Option < PgConnection > ,
101101 schema : & Option < String > ,
102102 version : & Option < String > ,
103103 handle : & Option < String > ,
@@ -108,7 +108,11 @@ pub async fn add(
108108 payload. metadata . extension_name . clone ( )
109109 } ;
110110
111- let existing_versions = extension_versions ( & mut conn, & extension_name) . await ?;
111+ let existing_versions = match conn {
112+ Some ( ref mut conn) => extension_versions ( conn, & extension_name) . await ?,
113+ None => HashSet :: new ( ) ,
114+ } ;
115+
112116 let mut installed_extension_once = !existing_versions. is_empty ( ) ;
113117 let mut versions_installed_now = HashSet :: new ( ) ;
114118
@@ -196,8 +200,10 @@ pub async fn add(
196200 }
197201 }
198202
199- let existing_update_paths =
200- ( update_paths ( & mut conn, & extension_name) . await ) . unwrap_or_default ( ) ;
203+ let existing_update_paths = match conn {
204+ Some ( ref mut conn) => ( update_paths ( conn, & extension_name) . await ) . unwrap_or_default ( ) ,
205+ None => HashSet :: new ( ) ,
206+ } ;
201207
202208 for upgrade_file in & payload. upgrade_files {
203209 let update_path = UpdatePath {
@@ -227,14 +233,16 @@ pub async fn add(
227233
228234 // add schema if specified
229235 if let Some ( schema) = schema {
230- migration_content. push_str ( " schema " ) ;
236+ migration_content. push_str ( r# " schema ""# ) ;
231237 migration_content. push_str ( schema) ;
238+ migration_content. push ( '"' ) ;
232239 }
233240
234241 // add version if specified
235242 if let Some ( version) = version {
236- migration_content. push_str ( " version " ) ;
243+ migration_content. push_str ( " version ' " ) ;
237244 migration_content. push_str ( version) ;
245+ migration_content. push ( '\'' ) ;
238246 }
239247
240248 migration_content. push_str ( ";\n " ) ;
0 commit comments