diff --git a/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js b/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js index 6f93adea5..c27266251 100644 --- a/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js +++ b/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js @@ -97,14 +97,21 @@ const libsqlDriver = { options.done(); // return stream; }, - async script(dbhan, sql) { - const inTransaction = dbhan.client.transaction(() => { + async script(dbhan, sql, { useTransaction }) { + const runScript = () => { for (const sqlItem of splitQuery(sql, this.getQuerySplitterOptions('script'))) { const stmt = dbhan.client.prepare(sqlItem); stmt.run(); } - }); - inTransaction(); + }; + + if (useTransaction) { + dbhan.client.transaction(() => { + runScript(); + })(); + } else { + runScript(); + } }, async readQueryTask(stmt, pass) {