首页 > 解决方案 > Jhipster aws 子生成器在全新安装时抛出 Invalid DB engine

问题描述

我尝试使用 jhipster 在全新安装的 hipster 7.0.1 中使用具有以下权限的帐户:

但是当生成器尝试创建 postrgess RDS 时,我得到了 Invalid DB engine 错误。

Create S3 bucket
Bucket invec already exists

Upload WAR to S3
War uploaded successful

Create database
/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/request.js:31
            throw err;
            ^

Error: Invalid DB engine
    at module.exports.error (/home/outis/dev/jhipster/invec/node_modules/generator-jhipster/generators/generator-base.js:1787:11)
    at /home/outis/dev/jhipster/invec/node_modules/generator-jhipster/generators/aws/index.js:192:18
    at /home/outis/dev/jhipster/invec/node_modules/generator-jhipster/generators/aws/lib/rds.js:56:19
    at Response.<anonymous> (/home/outis/dev/jhipster/invec/node_modules/generator-jhipster/generators/aws/lib/rds.js:145:7)
    at Request.<anonymous> (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/request.js:369:18)
    at Request.callListeners (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/request.js:688:14)
    at Request.transition (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/request.js:690:12)
    at Request.callListeners (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
    at Request.emit (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/home/outis/dev/jhipster/invec/node_modules/aws-sdk/lib/request.js:688:14) {
  code: 'Error',
  time: 2021-05-28T22:46:56.333Z

我将不胜感激任何信息来解决这个问题。

标签: amazon-web-servicesgeneratorjhipster

解决方案


这是 7.0.1 中引入的回归错误,将dbEngine值从“postgres”更改为“postgresql”。正确的值是AWS 中记录的“postgres”

在 7.1.0 版本发布之前,您可以通过node_modules/generator-jhipster/generators/aws/index.js在您的项目中编辑和修改checkDatabase()函数来自己修补子生成器:

      checkDatabase() {
        const prodDatabaseType = this.config.get(PROD_DATABASE_TYPE);

        switch (prodDatabaseType.toLowerCase()) {
          case MARIADB:
            this.dbEngine = MARIADB;
            break;
          case MYSQL:
            this.dbEngine = MYSQL;
            break;
          case POSTGRESQL:
            this.dbEngine = 'postgres';
            break;
          default:
            this.error('Sorry deployment for this database is not possible');
        }
      },

推荐阅读