@@ -299,7 +299,7 @@ wrapConnectionInfo connInfo conn logFunc = do
299299 , connCommit = helper " COMMIT"
300300 , connRollback = ignoreExceptions . helper " ROLLBACK"
301301 , connEscapeFieldName = escape . unFieldNameDB
302- , connEscapeTableName = escape . unEntityNameDB . getEntityDBName
302+ , connEscapeTableName = \ entDef -> prependSchemaAndEscape entDef $ getEntityDBName entDef
303303 , connEscapeRawName = escape
304304 , connNoLimit = " LIMIT -1"
305305 , connRDBMS = " sqlite"
@@ -490,7 +490,7 @@ mockMigration mig = do
490490 , connCommit = helper " COMMIT"
491491 , connRollback = ignoreExceptions . helper " ROLLBACK"
492492 , connEscapeFieldName = escape . unFieldNameDB
493- , connEscapeTableName = escape . unEntityNameDB . getEntityDBName
493+ , connEscapeTableName = \ entDef -> prependSchemaAndEscape entDef $ getEntityDBName entDef
494494 , connEscapeRawName = escape
495495 , connNoLimit = " LIMIT -1"
496496 , connRDBMS = " sqlite"
@@ -695,6 +695,13 @@ escape s =
695695 go ' "' = " \"\" "
696696 go c = T. singleton c
697697
698+ prependSchemaAndEscape :: EntityDef -> EntityNameDB -> Text
699+ prependSchemaAndEscape entDef entDBName = case getEntityDBSchema entDef of
700+ Nothing -> escapeE entDBName
701+ Just " main" -> escapeE entDBName
702+ Just " temp" -> escape " temp" <> " ." <> escapeE entDBName
703+ Just schema -> escape (schema <> " _" <> unEntityNameDB entDBName)
704+
698705putManySql :: EntityDef -> Int -> Text
699706putManySql ent n = putManySql' conflictColumns (toList fields) ent n
700707 where
0 commit comments