Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const { wrapInSingleQuotes } = require('../../../utils/general');
const { DATA_TYPES_WITH_IDENTITY, STRING_DATA_TYPES } = require('../../../../constants/types');

/**
* @typedef {string | number} DefaultValue
* @typedef {string | number | boolean} DefaultValue
*/

/**
Expand Down Expand Up @@ -37,7 +37,7 @@ const getIdentityOptions = ({ start, increment, minValue, maxValue, cycle, cache
};

/**
* @param {{ default?: DefaultValue, identity?: object }}
* @param {{ default?: DefaultValue, identity?: object, type: string }}
* @returns {string}
*/
const getColumnDefault = ({ default: defaultValue, identity, type }) => {
Expand All @@ -49,7 +49,7 @@ const getColumnDefault = ({ default: defaultValue, identity, type }) => {
return ` GENERATED ${identity.generated} AS IDENTITY (${identityOptions})`;
}

if (defaultValue || defaultValue === 0) {
if (defaultValue != null) {
return ` WITH DEFAULT ${defaultValue}`;
}
return '';
Expand Down
6 changes: 5 additions & 1 deletion forward_engineering/utils/assignTemplates.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ const assignTemplates = ({ template, templateData }) => {
const templateName = parseTemplate(item);

return result.replace(item, () => {
return templateData[templateName] || templateData[templateName] === 0 ? templateData[templateName] : '';
const value = templateData[templateName];
if (value === undefined || value === null) {
return '';
}
return value;
});
}, template);
};
Expand Down