save table structure uses transaction

This commit is contained in:
Jan Prochazka
2023-02-05 19:24:22 +01:00
parent e9a01a1ffd
commit cd000098f1
5 changed files with 2 additions and 8 deletions

View File

@@ -507,9 +507,7 @@ export function getAlterTableScript(
const plan = createAlterTablePlan(oldTable, newTable, opts, wholeOldDb, wholeNewDb, driver); const plan = createAlterTablePlan(oldTable, newTable, opts, wholeOldDb, wholeNewDb, driver);
const dmp = driver.createDumper({ useHardSeparator: true }); const dmp = driver.createDumper({ useHardSeparator: true });
if (!driver.dialect.disableExplicitTransaction) dmp.beginTransaction();
plan.run(dmp); plan.run(dmp);
if (!driver.dialect.disableExplicitTransaction) dmp.commitTransaction();
return { return {
sql: dmp.s, sql: dmp.s,
recreates: plan.recreates, recreates: plan.recreates,
@@ -526,9 +524,7 @@ export function getAlterDatabaseScript(
) { ) {
const plan = createAlterDatabasePlan(oldDb, newDb, opts, wholeOldDb, wholeNewDb, driver); const plan = createAlterDatabasePlan(oldDb, newDb, opts, wholeOldDb, wholeNewDb, driver);
const dmp = driver.createDumper({ useHardSeparator: true }); const dmp = driver.createDumper({ useHardSeparator: true });
if (!driver.dialect.disableExplicitTransaction) dmp.beginTransaction();
plan.run(dmp); plan.run(dmp);
if (!driver.dialect.disableExplicitTransaction) dmp.commitTransaction();
return { return {
sql: dmp.s, sql: dmp.s,
recreates: plan.recreates, recreates: plan.recreates,

View File

@@ -32,7 +32,6 @@ export interface SqlDialect {
dropCheck?: boolean; dropCheck?: boolean;
dropReferencesWhenDropTable?: boolean; dropReferencesWhenDropTable?: boolean;
disableExplicitTransaction?: boolean;
predefinedDataTypes: string[]; predefinedDataTypes: string[];

View File

@@ -277,7 +277,7 @@
const conid = $values?.targetConid; const conid = $values?.targetConid;
const database = $values?.targetDatabase; const database = $values?.targetDatabase;
const resp = await apiCall('database-connections/run-script', { conid, database, sql }); const resp = await apiCall('database-connections/run-script', { conid, database, sql, useTransaction: true });
const { errorMessage } = resp || {}; const { errorMessage } = resp || {};
if (errorMessage) { if (errorMessage) {
showModal(ErrorMessageModal, { title: 'Error when saving', message: errorMessage }); showModal(ErrorMessageModal, { title: 'Error when saving', message: errorMessage });

View File

@@ -131,7 +131,7 @@
} }
async function handleConfirmSql(sql, createTableName) { async function handleConfirmSql(sql, createTableName) {
const resp = await apiCall('database-connections/run-script', { conid, database, sql }); const resp = await apiCall('database-connections/run-script', { conid, database, sql, useTransaction: true });
const { errorMessage } = resp || {}; const { errorMessage } = resp || {};
if (errorMessage) { if (errorMessage) {
showModal(ErrorMessageModal, { title: 'Error when saving', message: errorMessage }); showModal(ErrorMessageModal, { title: 'Error when saving', message: errorMessage });

View File

@@ -22,7 +22,6 @@ const dialect = {
return `[${s}]`; return `[${s}]`;
}, },
anonymousPrimaryKey: true, anonymousPrimaryKey: true,
disableExplicitTransaction: true,
createColumn: true, createColumn: true,
dropColumn: true, dropColumn: true,