Skip to content

Migrating jhipster form 8.8.0 to 8.9.0 failes due to jhipster-migrate plugin I didn't use #28834

Closed
@naris

Description

@naris
Overview of the issue

Attempting to migrate a JHipster 8.8.0 application to JHipster 8.9.0 fails with this error:

jhipster upgrade

WARNING! Since JHipster v8, the jhipster command will not use the locally installed generator-jhipster.
    If you want to execute the locally installed generator-jhipster, run: npx jhipster

        ██╗ ██╗   ██╗ ████████╗ ███████╗   ██████╗ ████████╗ ████████╗ ███████╗
        ██║ ██║   ██║ ╚══██╔══╝ ██╔═══██╗ ██╔════╝ ╚══██╔══╝ ██╔═════╝ ██╔═══██╗
        ██║ ████████║    ██║    ███████╔╝ ╚█████╗     ██║    ██████╗   ███████╔╝
  ██╗   ██║ ██╔═══██║    ██║    ██╔════╝   ╚═══██╗    ██║    ██╔═══╝   ██╔══██║
  ╚██████╔╝ ██║   ██║ ████████╗ ██║       ██████╔╝    ██║    ████████╗ ██║  ╚██╗
   ╚═════╝  ╚═╝   ╚═╝ ╚═══════╝ ╚═╝       ╚═════╝     ╚═╝    ╚═══════╝ ╚═╝   ╚═╝
                            https://www.jhipster.tech
Welcome to JHipster v8.9.0

(node:24352) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Welcome to the JHipster Upgrade Sub-Generator
This will upgrade your current application codebase to JHipster version 8.9.0
For advanced options, please use the jhipster-migrate blueprint (https://github.com/jhipster/generator-jhipster-migrate/)

     info cleaned up project directory

> [email protected] prepare
> husky


up to date, audited 1972 packages in 48s

404 packages are looking for funding
  run `npm fund` for details

30 vulnerabilities (7 low, 10 moderate, 13 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
     info Regenerating sources using jhipster executable
npm warn using --force Recommended protections disabled.
(node:11792) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

        ██╗ ██╗   ██╗ ████████╗ ███████╗   ██████╗ ████████╗ ████████╗ ███████╗
        ██║ ██║   ██║ ╚══██╔══╝ ██╔═══██╗ ██╔════╝ ╚══██╔══╝ ██╔═════╝ ██╔═══██╗
        ██║ ████████║    ██║    ███████╔╝ ╚█████╗     ██║    ██████╗   ███████╔╝
  ██╗   ██║ ██╔═══██║    ██║    ██╔════╝   ╚═══██╗    ██║    ██╔═══╝   ██╔══██║
  ╚██████╔╝ ██║   ██║ ████████╗ ██║       ██████╔╝    ██║    ████████╗ ██║  ╚██╗
   ╚═════╝  ╚═╝   ╚═╝ ╚═══════╝ ╚═╝       ╚═════╝     ╚═╝    ╚═══════╝ ╚═╝   ╚═╝
                            https://www.jhipster.tech
Welcome to JHipster v8.7.1

 _______________________________________________________________________________________________________________

  Documentation for creating an application is at https://www.jhipster.tech/creating-an-app/

  Application files will be generated in folder: C:\src\totalfact
 _______________________________________________________________________________________________________________

WARNING!  ______________________________________________________________________________

  JHipster update available: 8.9.0 (current: 8.7.1)

  Run npm install -g generator-jhipster to update.

 ______________________________________________________________________________

ERROR! An error occured while running jhipster:bootstrap#validateBlueprint
ERROR! ERROR! The installed generator-jhipster-migrate blueprint targets JHipster v8.6.0 and is not compatible with this JHipster version. Either update the blueprint or JHipster. You can also disable this check using --skip-checks at your own risk
Error: The installed generator-jhipster-migrate blueprint targets JHipster v8.6.0 and is not compatible with this JHipster version. Either update the blueprint or JHipster. You can also disable this check using --skip-checks at your own risk
    at BootstrapGenerator._checkJHipsterBlueprintVersion (file:///C:/src/totalfact/node_modules/generator-jhipster/dist/generators/base/generator.js:588:19)
    at file:///C:/src/totalfact/node_modules/generator-jhipster/dist/generators/bootstrap/generator.js:63:30
    at Array.forEach (<anonymous>)
    at BootstrapGenerator.validateBlueprint (file:///C:/src/totalfact/node_modules/generator-jhipster/dist/generators/bootstrap/generator.js:62:52)
    at BootstrapGenerator.executeTask (file:///C:/src/totalfact/node_modules/yeoman-generator/dist/actions/lifecycle.js:265:26)
    at env.queueTask.once (file:///C:/src/totalfact/node_modules/yeoman-generator/dist/actions/lifecycle.js:239:56)
    at runLoop.add.once (file:///C:/src/totalfact/node_modules/yeoman-environment/dist/environment-base.js:395:23)
    at Immediate.<anonymous> (C:\src\totalfact\node_modules\grouped-queue\lib\subqueue.js:48:34)
    at process.processImmediate (node:internal/timers:491:21)
ERROR! An error occured while running jhipster:upgrade#prepareUpgradeBranch
ERROR! ERROR! Command failed with exit code 1: npx --no jhipster --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks
Error: Command failed with exit code 1: npx --no jhipster --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks
    at makeError (file:///C:/Users/murwilso/AppData/Roaming/npm/node_modules/generator-jhipster/node_modules/yeoman-generator/node_modules/execa/lib/error.js:60:11)
    at handlePromise (file:///C:/Users/murwilso/AppData/Roaming/npm/node_modules/generator-jhipster/node_modules/yeoman-generator/node_modules/execa/index.js:124:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async UpgradeGenerator.prepareUpgradeBranch (file:///C:/Users/murwilso/AppData/Roaming/npm/node_modules/generator-jhipster/dist/generators/upgrade/generator.js:162:21)
    at async UpgradeGenerator.executeTask (file:///C:/Users/murwilso/AppData/Roaming/npm/node_modules/generator-jhipster/node_modules/yeoman-generator/dist/actions/lifecycle.js:258:13)
    at async runLoop.add.once (file:///C:/Users/murwilso/AppData/Roaming/npm/node_modules/generator-jhipster/node_modules/yeoman-environment/dist/environment-base.js:395:17) {
  shortMessage: 'Command failed with exit code 1: npx --no jhipster --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks',
  command: 'npx --no jhipster --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks',
  escapedCommand: 'npx --no jhipster --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: undefined,
  stderr: undefined,
  cwd: 'C:\\src\\totalfact',
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}
JHipster info

WARNING! Since JHipster v8, the jhipster command will not use the locally installed generator-jhipster.
If you want to execute the locally installed generator-jhipster, run: npx jhipster

    ██╗ ██╗   ██╗ ████████╗ ███████╗   ██████╗ ████████╗ ████████╗ ███████╗
    ██║ ██║   ██║ ╚══██╔══╝ ██╔═══██╗ ██╔════╝ ╚══██╔══╝ ██╔═════╝ ██╔═══██╗
    ██║ ████████║    ██║    ███████╔╝ ╚█████╗     ██║    ██████╗   ███████╔╝

██╗ ██║ ██╔═══██║ ██║ ██╔════╝ ╚═══██╗ ██║ ██╔═══╝ ██╔══██║
╚██████╔╝ ██║ ██║ ████████╗ ██║ ██████╔╝ ██║ ████████╗ ██║ ╚██╗
╚═════╝ ╚═╝ ╚═╝ ╚═══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══════╝ ╚═╝ ╚═╝
https://www.jhipster.tech
Welcome to JHipster v8.9.0

(node:31520) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
(Use node --trace-deprecation ... to show where the warning was created)
Welcome to the JHipster Information Sub-Generator

[email protected] C:\src\totalfact
+-- [email protected] extraneous
| `-- [email protected] extraneous
`-- [email protected] invalid: "8.8.0" from the root project
JHipster configuration, a .yo-rc.json file generated in the root folder
.yo-rc.json file
{
  "generator-jhipster": {
    "applicationType": "monolith",
    "authenticationType": "oauth2",
    "baseName": "TotalFact",
    "blueprints": [],
    "buildTool": "maven",
    "cacheProvider": "infinispan",
    "clientFramework": "angular",
    "clientPackageManager": "npm",
    "clientTheme": "none",
    "clientThemeVariant": "",
    "creationTimestamp": 1651244671759,
    "databaseType": "sql",
    "devDatabaseType": "oracle",
    "devServerPort": 4200,
    "dtoSuffix": "DTO",
    "enableGradleEnterprise": false,
    "enableHibernateCache": true,
    "enableSwaggerCodegen": true,
    "enableTranslation": true,
    "entities": [
      "UPC",
      "UPCRule",
      "PlatformType",
      "Platform",
      "PlatformDE",
      "PlatformInst",
      "PlatformList",
      "Product",
      "Release",
      "Dimension",
      "Category",
      "Attribute",
      "Section",
      "FieldValue",
      "Task",
      "Step",
      "PrivateNotes",
      "ProtectedClass",
      "Derivation",
      "SourceType",
      "Universe",
      "EpsilonDataSource",
      "Usage",
      "Royalty",
      "Collection",
      "CollectionGroup"
    ],
    "entitySuffix": "",
    "incrementalChangelog": true,
    "jhiPrefix": "jhi",
    "jhipsterVersion": "8.8.0",
    "languages": [
      "en"
    ],
    "lastLiquibaseTimestamp": 1723826961000,
    "messageBroker": false,
    "microfrontend": false,
    "microfrontends": [],
    "nativeLanguage": "en",
    "otherModules": [
      {
        "name": "generator-jhipster-primeng-blueprint",
        "version": "7.0.4"
      }
    ],
    "packageFolder": "com/epsilon/totalfact",
    "packageName": "com.epsilon.totalfact",
    "pages": [],
    "prodDatabaseType": "oracle",
    "reactive": false,
    "searchEngine": false,
    "serverPort": "8080",
    "serverSideOptions": [
      "enableSwaggerCodegen:true"
    ],
    "serviceDiscoveryType": "no",
    "skipCheckLengthOfIdentifier": false,
    "skipClient": false,
    "skipFakeData": false,
    "skipUserManagement": true,
    "syncUserWithIdp": true,
    "testFrameworks": [
      "gatling"
    ],
    "websocket": false,
    "withAdminUi": true
  }
}
Environment and Tools

openjdk version "21.0.6" 2025-01-21 LTS
OpenJDK Runtime Environment Microsoft-10800203 (build 21.0.6+7-LTS)
OpenJDK 64-Bit Server VM Microsoft-10800203 (build 21.0.6+7-LTS, mixed mode, sharing)

git version 2.40.1.windows.1

node: v22.13.1
npm: 10.9.2

'docker' command could not be found

JDL for the Entity configuration(s) entityName.json files generated in the .jhipster directory
JDL entity definitions
@ChangelogDate("20220525172737")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity UPC {
  upcKey String maxlength(15)
  name String maxlength(250) required
  description String maxlength(1024)
  dataSource String maxlength(400)
  keywords TextBlob
  userNotes TextBlob
  restrictedResellerFlag Boolean
  hidden Boolean
  createUser String required
  createDate Instant required
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172738")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity UPCRule (upc_rule) {
  ruleText TextBlob required
  ruleDate Instant required
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172739")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity PlatformType {
  name String maxlength(10) required
  description String
}
@ChangelogDate("20220525172740")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Platform {
  primarySymbol String maxlength(128) required
  fieldName String maxlength(250) required
  fieldDescription String maxlength(1024)
  fieldLength Integer
  fieldValue String maxlength(100)
  shortHeaderName String maxlength(10)
  longHeaderName String maxlength(200)
  inUse Boolean
  premiumField Boolean
  approvalRequired Boolean
  royalty Boolean
  token String maxlength(50)
  sasKey String maxlength(10)
  rateId String maxlength(10)
  countType String maxlength(1)
  kvp String maxlength(50)
  caseable Boolean
  sanRequired Boolean
  waiverRequired Boolean
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172741")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity PlatformDE (platform_de) {
  ecapsKey Integer
  defaultValue String maxlength(10)
  usedInBilling Boolean
  displayZeroCounts Boolean
  areaFillinRequired Boolean
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172742")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity PlatformInst {
  pricingFlag Boolean
  selectFlag Boolean
  outputFlag Boolean
  crosstabFlag Boolean
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172743")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity PlatformList {
  pricingFlag Boolean
  selectFlag Boolean
  outputFlag Boolean
  crosstabFlag Boolean
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172744")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Product {
  name String
  description String
  productKey Integer min(0) max(999)
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172745")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Release {
  version String
  releaseDate Instant
}
@ChangelogDate("20220525172746")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Dimension {
  name String maxlength(128) required
  description String
  createUser String required
  createDate Instant required
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172747")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Category {
  name String maxlength(128) required
  createUser String required
  createDate Instant required
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172748")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Attribute {
  fieldLevel String maxlength(128)
  createUser String required
  createDate Instant required
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172750")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Section {
  sectionKey String maxlength(10) required
  name String maxlength(128) required
  selfReported Boolean
  modeled Boolean
  thirdParty Boolean
  areaLevel Boolean
  compiled Boolean
  updatedDaily Boolean
  updatedWeekly Boolean
  updatedBiWeeekly Boolean
  updatedMonthly Boolean
  updatedSixWeeeks Boolean
  updatedQuatrerly Boolean
  updatedSemiAnnually Boolean
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172751")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity FieldValue {
  fieldValue String maxlength(25) required
  valueDefinition String
  averageMatchRate Float min(0) max(100)
  displayOrder Integer
  activeFlag Boolean
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172752")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Task {
  name String required
  taskUser String maxlength(25) required
  taskOrder Integer
  showOnMainPage Boolean
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220525172753")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Step {
  completed Boolean
  notes TextBlob
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220614152213")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity PrivateNotes {
  noteText TextBlob
  noteDate Instant required
  createUser String
  createDate Instant
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20220614152214")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity ProtectedClass {
  code Integer min(0) max(9) required
  name String maxlength(128)
  description String maxlength(1024)
}
@ChangelogDate("20220614152215")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Derivation {
  code String maxlength(10) required
  name String maxlength(128)
  description String maxlength(1024)
}
@ChangelogDate("20220722180825")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity SourceType {
  code String maxlength(10) required
  name String maxlength(128)
  description String maxlength(1024)
}
@ChangelogDate("20220831162820")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Universe {
  code String maxlength(10) required
  name String maxlength(128) required
}
@ChangelogDate("20220831162821")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity EpsilonDataSource {
  name String maxlength(128)
}
@ChangelogDate("20230213200839")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Usage (jhi_usage) {
  action String required
  parm String
  user String maxlength(25) required
  dateTime Instant required
}
@ChangelogDate("20240104160857")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Royalty {
  name String maxlength(10) required
  description String
}
@ChangelogDate("20240607222825")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity Collection {
  name String maxlength(250) required
  description String maxlength(1024)
  global Boolean
  shared Boolean
  createUser String required
  createDate Instant required
  modifyUser String
  modifyDate Instant
}
@ChangelogDate("20240607222826")
@Filter
@Paginate("pagination")
@Service("serviceClass")
entity CollectionGroup {
  name String maxlength(250) required
  description String maxlength(1024)
  createUser String required
  createDate Instant required
  modifyUser String
  modifyDate Instant
}

relationship OneToOne {
  PlatformDE{platform(fieldName)} to Platform{de}
  PlatformInst{platform(fieldName)} to Platform{install}
  PlatformList{platform(fieldName)} to Platform{list}
}
relationship OneToMany {
  UPC{rules} to UPCRule{upc(name) required}
  UPC{privateNotes} to PrivateNotes{upc(name) required}
  UPC{platforms required} to Platform{upc(name) required}
  UPC{steps} to Step
  Platform{values(fieldValue) required} to FieldValue{platform(fieldName)}
  Dimension{categories(name) required} to Category{dimension(name)}
}
relationship ManyToOne {
  UPC{attribute(fieldLevel) required} to Attribute
  UPC{category(name) required} to Category
  UPC{protectedClass(code)} to ProtectedClass
  UPC{epsilonDataSource(name)} to EpsilonDataSource
  UPC{royalty(name)} to Royalty
  Platform{release(version)} to Release
  Platform{platformType(name)} to PlatformType
  PlatformDE{section(name)} to Section
  Product{platformType(name)} to PlatformType
  Dimension{universe(name)} to Universe
  Step{task(name)} to Task
  Collection{group(name)} to CollectionGroup{collection(name)}
  Collection{owner(login) required} to User with builtInEntity
}
relationship ManyToMany {
  UPC{sourceType(name)} to SourceType{upc(name)}
  UPC{derivation(name)} to Derivation{upc(name)}
  Platform{product(name)} to Product{platform(fieldName)}
  @OnDelete(CASCADE) @OnUpdate(CASCADE) Collection{upc(name)} to UPC{collection(name)}
  @OnDelete(CASCADE) @OnUpdate(CASCADE) Collection{sharedWith(login)} to User with builtInEntity
}

paginate UPC, UPCRule, PlatformType, Platform, PlatformDE, PlatformInst, PlatformList, Product, Release, Dimension, Category, Attribute, Section, FieldValue, Task, Step, PrivateNotes, ProtectedClass, Derivation, SourceType, Universe, EpsilonDataSource, Usage, Royalty, Collection, CollectionGroup with pagination
service UPC, UPCRule, PlatformType, Platform, PlatformDE, PlatformInst, PlatformList, Product, Release, Dimension, Category, Attribute, Section, FieldValue, Task, Step, PrivateNotes, ProtectedClass, Derivation, SourceType, Universe, EpsilonDataSource, Usage, Royalty, Collection, CollectionGroup with serviceClass
search UPC, UPCRule, PlatformType, Platform, PlatformDE, PlatformInst, PlatformList, Product, Release, Dimension, Category, Attribute, Section, FieldValue, Task, Step, PrivateNotes, ProtectedClass, Derivation, SourceType, Universe, EpsilonDataSource, Usage, Royalty, Collection, CollectionGroup with no
filter UPC, UPCRule, PlatformType, Platform, PlatformDE, PlatformInst, PlatformList, Product, Release, Dimension, Category, Attribute, Section, FieldValue, Task, Step, PrivateNotes, ProtectedClass, Derivation, SourceType, Universe, EpsilonDataSource, Usage, Royalty, Collection, CollectionGroup

Congratulations, JHipster execution is complete!
If you find JHipster useful consider sponsoring the project https://www.jhipster.tech/sponsors/

Thanks for using JHipster!

  • jhipster info output is mandatory for bug reports. This will allow us to use automated tests and genarate the broken sample using jhipster from-issue command.
Motivation for or Use Case

This prevents upgrading the project to JHipster 8.9.0

Reproduce the error

Take a JHipster 8.8.0 project (my particular project started at version 7.0.1 and have been upgraded since) and attempt to upgrade it.

Related issues

Upgrade have always been problematic, even when using the jhipster-migrate plugin :(

Suggest a Fix
JHipster Version(s)

8.8.0 -> 8.9.0

Browsers and Operating System

Windows 11

  • Tickets opened without reproduction steps or that doesn't follows the template recommendation will be closed.
  • Checking this box is mandatory (this is just to show you read everything)

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