mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 07:56:01 +00:00
fix: correctly show default value for firebird
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
const _ = require('lodash');
|
||||
const sql = require('./sql');
|
||||
const { getDataTypeString, getTriggerTiming, getTriggerEventType } = require('./helpers');
|
||||
const { getDataTypeString, getTriggerTiming, getTriggerEventType, getFormattedDefaultValue } = require('./helpers');
|
||||
|
||||
const { DatabaseAnalyser } = require('dbgate-tools');
|
||||
|
||||
@@ -23,6 +23,7 @@ class Analyser extends DatabaseAnalyser {
|
||||
const columns = columnsResult.rows?.map(column => ({
|
||||
...column,
|
||||
dataType: getDataTypeString(column),
|
||||
defaultValue: getFormattedDefaultValue(column.defaultValue),
|
||||
}));
|
||||
|
||||
const triggers = triggersResult.rows?.map(i => ({
|
||||
|
||||
@@ -75,8 +75,15 @@ function getTriggerTiming(triggerType) {
|
||||
return eventMap[triggerType]?.triggerTiming || null;
|
||||
}
|
||||
|
||||
function getFormattedDefaultValue(defaultValue) {
|
||||
if (defaultValue === null) return null;
|
||||
|
||||
return defaultValue.replace(/^default\s*/i, '');
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getDataTypeString,
|
||||
getTriggerEventType,
|
||||
getTriggerTiming,
|
||||
getFormattedDefaultValue,
|
||||
};
|
||||
|
||||
@@ -18,7 +18,7 @@ SELECT DISTINCT
|
||||
f.rdb$field_precision AS "precision",
|
||||
f.rdb$field_scale AS "scale",
|
||||
f.rdb$field_length AS "length",
|
||||
CAST(TRIM(rf.rdb$default_value) AS VARCHAR(255)) AS "defaultValue",
|
||||
CAST(TRIM(rf.RDB$DEFAULT_SOURCE) AS VARCHAR(255)) AS "defaultValue",
|
||||
CAST(TRIM(rf.rdb$description) AS VARCHAR(255)) AS "columnComment",
|
||||
CASE
|
||||
WHEN f.rdb$field_type IN (8, 9, 16) AND f.rdb$field_scale < 0 THEN TRUE
|
||||
|
||||
Reference in New Issue
Block a user