Commit Graph
78 Commits
Author SHA1 Message Date
t8y2 cac90c7b62 fix(opengauss): open table structure editor 2026-06-02 18:50:00 +08:00
t8y2 cc9c174fc5 fix(structure-editor): copy preview SQL and record history 2026-06-02 10:30:51 +08:00
t8y2 130a33808e feat(desktop): improve table structure editor 2026-06-01 23:52:53 +08:00
t8y2 a18fb60524 fix(structure-editor): hide unsupported column reorder controls 2026-06-01 12:35:23 +08:00
vrustx c24e3a5086 feat: add table structure density control (#558) 2026-05-31 00:52:09 +08:00
t8y2 55cad0cc08 fix(structure): reuse compatible data type options 2026-05-30 19:32:34 +08:00
Abeautifulsnow 310cc22b37 Fix/disable table comment for unsupported db (#518)
* fix(structure-editor): disable table comment input for databases that don't support comments (e.g. SQLite)

## 背景说明
SQLite 不支持表注释(COMMENT),但表注释输入框始终可编辑。用户修改注释后,SQL 预览显示暂无变更且应用变更按钮不可用,造成困惑的 UX。

## 修改内容
- 新增 isTableCommentDisabled 计算属性,基于 structureCapabilities.comment 控制禁用状态
- 表注释 Input 添加 :disabled 绑定,禁用时输入框变灰不可编辑
- 禁用时在输入框右侧显示 Info 图标,hover 显示 Tooltip 说明
- 三语言(zh-CN / en / es)新增 tableCommentUnsupported 翻译

## 影响范围
- SQLite、DuckDB 及未知数据库类型:输入框被禁用 + Tooltip 提示
- MySQL、PostgreSQL、ClickHouse 等支持注释的数据库:完全不受影响
- 后端 generate_comment_ddl 已有对等过滤(仅 Postgres/Oracle/ClickHouse 生成 COMMENT SQL)

## 测试
- 建议补充:dbType 为 sqlite 时 isTableCommentDisabled 为 true 的单元测试

* test(structure-editor): add tests for table comment disabled state and unsupported DB capabilities
2026-05-29 12:29:50 +08:00
t8y2 c7b7bed140 feat(editor): add extended column properties support for MySQL, PostgreSQL, and SQL Server
MySQL: AUTO_INCREMENT, ON UPDATE CURRENT_TIMESTAMP
PostgreSQL: GENERATED AS IDENTITY (BY DEFAULT / ALWAYS)
SQL Server: IDENTITY(seed, increment)
2026-05-29 00:41:51 +08:00
t8y2 ab12ab5c11 feat(editor): add keyboard navigation to type selector and column resize to structure editor
- SearchableSelect: support ArrowUp/Down to navigate filtered options, Enter to select, Escape to dismiss
- TableStructureEditor: add drag-to-resize column widths and horizontal scrolling for the columns table
2026-05-29 00:22:08 +08:00
t8y2 9aae48d089 feat(structure): auto-switch column length default based on data type
When changing a column's data type in the table structure editor, the
length parameter now updates to a sensible default for the new type
(e.g. int→11, tinyint→4) instead of preserving the old value.
2026-05-28 21:36:28 +08:00
t8y2 634e8bf5ac feat(sqlserver): enable table structure editing for existing columns and comments
- Enable renameColumn, alterExistingColumn, alterType, alterNullability,
  alterDefault, comment, and indexComment capabilities for SQL Server
- Implement build_sqlserver_existing_column_sql() with sp_rename for column
  rename, ALTER TABLE ALTER COLUMN for type/nullability changes, and dynamic
  SQL for default constraint management
- Add sp_addextendedproperty/sp_dropextendedproperty DDL generation for table,
  column, and index comments
- Fetch table and column comments from sys.extended_properties via OUTER APPLY
  in list_tables, list_objects, and get_columns SQL queries
- Fix table comment placeholder text (was showing column comment placeholder)
2026-05-27 22:28:31 +08:00
t8y2 551339cd22 fix: only refresh sidebar tree when table comment actually changed
Previously the sidebar tree refresh was skipped entirely in EDIT mode because
the check was gated on activeTab.mode === 'data', which is never true when
the structure editor is open. Now we pass a commentChanged flag through the
event chain and only refresh the tree when the comment was modified.
2026-05-26 16:21:54 +08:00
t8y2 32a4a5b1ec fix: normalize temporal column precision 2026-05-26 14:38:53 +08:00
t8y2 ce22d6a046 fix: focus new structure column input 2026-05-26 12:30:12 +08:00
t8y2 309c2d1555 fix: restore structure editor vertical scrolling 2026-05-26 12:26:21 +08:00
t8y2 75e97001ec style: fix formatting (oxfmt + cargo fmt) 2026-05-24 22:38:16 +08:00
t8y2 3f119cc9cf fix: use fixed column widths for type/length columns in table structure editor 2026-05-24 22:32:59 +08:00
t8y2 62b4905e54 feat: split data type into type+length columns with SearchableSelect, add Shiki SQL highlighting
- Separate data type input into type dropdown (SearchableSelect with allowCustom)
  and length input, Navicat-style
- Add comprehensive DATA_TYPE_OPTIONS for all 6 database engines, validated
  against official docs
- Add Shiki SQL syntax highlighting to the SQL preview panel
- Add i18n keys for new UI elements (typePlaceholder, length, noMatchingType)
2026-05-24 21:43:03 +08:00
t8y2 801434e423 refactor: convert table structure editor from modal dialog to tab
Replace the dialog-based TableStructureEditorDialog with a tab-based
TableStructureEditor, making it consistent with query editors, data
viewers, and object browsers. Users can now switch between editing
table structure and running queries freely.
2026-05-24 21:17:35 +08:00
t8y2 72d5435535 feat: add primary key editing to table structure editor
Add PK checkbox column in Vue dialog, alter_primary_key capability flag,
build_primary_key_sql() for PostgreSQL/MySQL ALTER TABLE PK changes,
and i18n labels in zh-CN/en/es.

Includes flicker fix (silent reload after apply) and move ready badge
to SQL preview header.
2026-05-24 20:37:59 +08:00
t8y2 7a3ff3bff9 refactor(sql): move builders to Rust 2026-05-23 01:28:52 +08:00
t8y2 a26a762b8c fix(structure): compact editor layout 2026-05-22 18:53:50 +08:00
t8y2 b0a4061484 feat(structure): support column reordering 2026-05-22 16:43:14 +08:00
t8y2 ca15404065 fix(structure-editor): keep nullable header on one line 2026-05-21 15:57:44 +08:00
t8y2 eef6934e71 feat(structure): support index rebuild editing 2026-05-21 13:21:27 +08:00
t8y2 5b3b69f7fb fix(structure): load editor on open 2026-05-19 12:58:10 +08:00
t8y2 cf46aec158 feat(structure): add DDL capability matrix 2026-05-19 12:15:49 +08:00
t8y2 06683c57b1 chore(repo): move desktop app under apps 2026-05-18 02:35:39 +08:00