Skip to content

jmix-create-liquibase-changelog: no guidance for large text columns #34

Description

@fractal3000

What happened. An Order entity needed a column holding a serialised JSON map.
jmix-create-entity says to use "the project pattern for long text, usually @Lob plus a
matching Liquibase type" but never says what that type is, and the changelog skill's type
table stops at varchar(n).

What I had to do outside the skill. Chose clob myself after checking that the test
profile runs HSQLDB while production runs PostgreSQL, so a PostgreSQL-only type such as
jsonb would have made the single changelog unusable in tests.

Why it matters. The choice is not free: picking a vendor-specific type breaks the test
contour, and the skills are explicit that one changelog serves both. The rule "use only type
macros already present in the project" gives no answer when the project has none.

Suggested fix. Add @Lob String → clob to the type table, plus one line warning that
vendor-specific types (jsonb, json) break a shared changelog when tests run on a
different database.


Found while building a real Jmix 2.8 application (document registry, Vaadin UI, PostgreSQL, deployed behind nginx).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions