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 из-за отсутствия явных кнопок транзакций.
Предлагаемые изменения
- Для MySQL (lib/features/mysql):
- Вынести в тулбар сессии (MysqlSqlWorkspace) явные кнопки Begin, Commit, Rollback (сейчас управление транзакциями доступно только через ручной ввод SQL или переключатель Autocommit).
- Добавить инспектор процедур и функций MysqlRoutineView (на базе SHOW CREATE FUNCTION / PROCEDURE) с отображением DDL при клике на хранимую процедуру в боковом дереве.
- Для 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
Reactions are currently unavailable
Описание задачи
Встроенные драйверы MySQL (lib/features/mysql) и SQLite (lib/features/sqlite) отстают по функционалу от эталонного PostgreSQL (lib/features/postgresql). Для соблюдения Единого UI-стандарта (Universal UI Standard) необходимо подтянуть рабочие пространства MySQL и SQLite до паритета с Postgres.
Зачем
Предлагаемые изменения
Технические требования
Место в коде (ориентир)
Acceptance Criteria
Scope