Repository navigation
Conversation
…anged The filter treated a falsy old default (false, 0, empty string) as missing, so an unchanged default was generated again as ALTER COLUMN SET DEFAULT. This happens in forward-engineering for any column with a comment, because column comments go through the ALTER script path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
AlikRakhmonov
approved these changes
Nov 10, 2026
AlikRakhmonov
enabled auto-merge (squash)
November 10, 2026 08:23
AlikRakhmonov
disabled auto-merge
November 10, 2026 08:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



## Problem
In PostgreSQL forward-engineering with column default values inline, a column with a default value
falseand a comment gets its default twice: inline in CREATE TABLE, and again asALTER TABLE ... ALTER COLUMN ... SET DEFAULT false;.Column comments always go in separate statements, so the column goes through the ALTER script helpers. In
defaultValueHelper.js, the filter was:!oldDefaultis true forfalse,0,""andnull, so an unchanged falsy default was generated again. The!==comparison already covers the case of a new default, so the extra clause only added false positives.Change
Same logic as the CREATE path, which uses
!_.isUndefined(columnDefinition.default).Checked (helper called directly with node)
falsefalseSET DEFAULT false00SET DEFAULT 0false(separate option)SET DEFAULT falseSET DEFAULT falsefalsetrueSET DEFAULT trueSET DEFAULT true55falseDROP DEFAULTDROP DEFAULTRegression test in Studio, same branch name
HCK-18624(script generation options, PostgreSQL model: boolean column with defaultfalseand a comment).Note: the same filter exists in the YugabyteDB, BigQuery and Db2 plugins. Not changed here.
Related: HCK-18361 (fix of the empty
SET DEFAULT ;forfalse).🤖 Generated with Claude Code