SQL comments for rows used now in tolltips

This commit is contained in:
Mikhail Chusavitin
2026-01-21 18:52:17 +03:00
parent 5c917c5d7c
commit cce71a095c
3 changed files with 74 additions and 9 deletions

View File

@@ -33,7 +33,8 @@ class MetaService
$sql = "
SELECT
COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, COLUMN_KEY,
IS_NULLABLE, COLUMN_DEFAULT, EXTRA, ORDINAL_POSITION
IS_NULLABLE, COLUMN_DEFAULT, EXTRA, ORDINAL_POSITION,
COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = :schema AND TABLE_NAME = :table
ORDER BY ORDINAL_POSITION
@@ -91,13 +92,14 @@ class MetaService
'DATA_TYPE' => $c['DATA_TYPE'],
'COLUMN_TYPE' => $c['COLUMN_TYPE'],
'COLUMN_KEY' => $c['COLUMN_KEY'],
'IS_NULLABLE' => $isNullable, // ✅ Boolean, не строка
'IS_NULLABLE' => $isNullable,
'COLUMN_DEFAULT' => $c['COLUMN_DEFAULT'],
'HAS_DEFAULT' => $hasDefault,
'EXTRA' => $c['EXTRA'],
'COLUMN_COMMENT' => $c['COLUMN_COMMENT'] ?? '', // ✅ Добавлен комментарий
'IS_AUTO_INCREMENT' => str_contains($c['EXTRA'] ?? '', 'auto_increment'),
'ORDINAL_POSITION' => (int)$c['ORDINAL_POSITION'],
'IS_REQUIRED' => !$isNullable && !$hasDefault && !str_contains($c['EXTRA'] ?? '', 'auto_increment'), // ✅ Правильная логика
'IS_REQUIRED' => !$isNullable && !$hasDefault && !str_contains($c['EXTRA'] ?? '', 'auto_increment'),
'EDITOR_TYPE' => $this->getEditorType($c),
'IS_FOREIGN_KEY' => isset($fkMap[$name]),
'FOREIGN_KEY' => $fkMap[$name] ?? null
@@ -113,6 +115,7 @@ class MetaService
];
}
private function getEditorType(array $col): string
{
$type = strtolower($col['DATA_TYPE']);