diff --git a/packages/types/dialect.d.ts b/packages/types/dialect.d.ts index 58c52ffe6..7598bdc5b 100644 --- a/packages/types/dialect.d.ts +++ b/packages/types/dialect.d.ts @@ -51,6 +51,7 @@ export interface SqlDialect { omitTableBeforeColumn?: boolean; disableAutoIncrement?: boolean; disableNonPrimaryKeyRename?: boolean; + disableRenameTable?: boolean; defaultNewTableColumns?: ColumnInfo[]; sortingKeys?: boolean; diff --git a/packages/web/src/appobj/DatabaseObjectAppObject.svelte b/packages/web/src/appobj/DatabaseObjectAppObject.svelte index 92e5e0796..633aacd54 100644 --- a/packages/web/src/appobj/DatabaseObjectAppObject.svelte +++ b/packages/web/src/appobj/DatabaseObjectAppObject.svelte @@ -147,11 +147,12 @@ isDrop: true, requiresWriteAccess: true, }, - hasPermission('dbops/table/rename') && { - label: 'Rename table', - isRename: true, - requiresWriteAccess: true, - }, + hasPermission('dbops/table/rename') && + !driver?.dialect.disableRenameTable && { + label: 'Rename table', + isRename: true, + requiresWriteAccess: true, + }, hasPermission('dbops/table/truncate') && { label: 'Truncate table', isTruncate: true, diff --git a/plugins/dbgate-plugin-cassandra/src/frontend/driver.js b/plugins/dbgate-plugin-cassandra/src/frontend/driver.js index 8752b9f1c..3fe64d4e1 100644 --- a/plugins/dbgate-plugin-cassandra/src/frontend/driver.js +++ b/plugins/dbgate-plugin-cassandra/src/frontend/driver.js @@ -20,6 +20,7 @@ const dialect = { anonymousPrimaryKey: true, createColumnWithColumnKeyword: true, specificNullabilityImplementation: true, + disableRenameTable: true, omitForeignKeys: true, omitUniqueConstraints: true, omitIndexes: true,