FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

enhancement(connections): align MySQL and SQLite workspaces with PostgreSQL UI standard (tx controls, DDL view, stats tab) · Issue #325 · QueryaHub/Querya-Desktop · GitHub

enhancement(connections): align MySQL and SQLite workspaces with PostgreSQL UI standard (tx controls, DDL view, stats tab) #325

Description

Part of Epic #322

Описание задачи

Встроенные драйверы MySQL (lib/features/mysql) и SQLite (lib/features/sqlite) отстают по функционалу от эталонного PostgreSQL (lib/features/postgresql). Для соблюдения Единого UI-стандарта (Universal UI Standard) необходимо подтянуть рабочие пространства MySQL и SQLite до паритета с Postgres.

Зачем

  • Единообразие пользовательского опыта: независимо от того, работает пользователь с PostgreSQL, MySQL или SQLite, интерфейс вкладок, транзакций и инспекций метаданных должен вести себя предсказуемо.
  • Устранение риска случайной потери данных в MySQL из-за отсутствия явных кнопок транзакций.

Предлагаемые изменения

  1. Для MySQL (lib/features/mysql):
    • Вынести в тулбар сессии (MysqlSqlWorkspace) явные кнопки Begin, Commit, Rollback (сейчас управление транзакциями доступно только через ручной ввод SQL или переключатель Autocommit).
    • Добавить инспектор процедур и функций MysqlRoutineView (на базе SHOW CREATE FUNCTION / PROCEDURE) с отображением DDL при клике на хранимую процедуру в боковом дереве.
  2. Для SQLite (lib/features/sqlite):
    • Добавить на домашний экран SqliteWorkspaceHome вкладку Overview / Database Info (отображающую размер файла .db на диске, количество страниц page_count / page_size, версию SQLite, режим journal_mode / WAL и список таблиц).
    • Добавить кнопку DDL / Structure на панель SqliteTableView для быстрого просмотра sql из sqlite_master.

Технические требования

  • Обновить тулбар MysqlSqlWorkspace (lib/features/mysql/mysql_sql_workspace.dart) кнопочными действиями транзакций (START TRANSACTION;, COMMIT;, ROLLBACK;).
  • Создать MysqlRoutineView и подключить его в роутер рабочего пространства (WorkspacePanel).
  • Создать SqliteOverviewTab для SqliteWorkspaceHome и подключить переключатель вкладок (Overview vs SQL).
  • Добавить извлечение DDL для SqliteTableView.
  • Обновить тесты виджетов для mysql и sqlite.

Место в коде (ориентир)

  • lib/features/mysql/mysql_sql_workspace.dart
  • lib/features/mysql/mysql_routine_view.dart (новый)
  • lib/features/sqlite/sqlite_workspace_home.dart
  • lib/features/sqlite/sqlite_table_view.dart
  • Эталон: lib/features/postgresql/postgres_workspace_home.dart и postgres_sql_workspace.dart

Acceptance Criteria

  • В MysqlSqlWorkspace доступны кнопки Begin, Commit, Rollback с корректной отправкой команд в сессию.
  • При выборе процедуры в MySQL открывается вьюер с DDL (SHOW CREATE PROCEDURE/FUNCTION).
  • На домашнем экране SQLite отображается вкладка с метаданными о файле .db.
  • Из таблицы SQLite можно в 1 клик посмотреть DDL создания таблицы.

Scope

  • Scope: desktop
  • Component: MySQL / SQLite / Workspace
  • Kind: enhancement

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

connectionsDatabase connections, URI parsing, poolsenhancementNew feature or requestmysqlMySQL database driver and workspacesqliteSQLite database driver and workspaceuiUser interface components and widgets

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


    Back | FazBrowse Home | New Git URL