Node.js 部署到Google应用程序引擎时出错

Node.js 部署到Google应用程序引擎时出错,node.js,google-app-engine,orm,google-cloud-platform,sequelize.js,Node.js,Google App Engine,Orm,Google Cloud Platform,Sequelize.js,我正在尝试将一个应用程序部署到Google App Engine。它是一个带有MySQL后端的Node.js应用程序。我正在使用Sequelize ORM。云SQL实例和应用引擎都在同一个项目中。当我尝试部署和启动应用程序时,我得到了以下错误 Updating service [default] (this may take several minutes)...failed. ERROR: (gcloud.app.deploy) Error Response: [9] Application

我正在尝试将一个应用程序部署到Google App Engine。它是一个带有MySQL后端的Node.js应用程序。我正在使用Sequelize ORM。云SQL实例和应用引擎都在同一个项目中。当我尝试部署和启动应用程序时,我得到了以下错误

Updating service [default] (this may take several minutes)...failed.
ERROR: (gcloud.app.deploy) Error Response: [9]
Application startup error:

> teachhub@1.0.0 start /app
> node server

/app/node_modules/sequelize/lib/sequelize.js:236
        throw new Error('The dialect ' + this.getDialect() + ' is not supported. Supported dialects: mssql, mysql, postgres, and sqlite.');
        ^

Error: The dialect my-nodejs-codelab-1217-190421 is not supported. Supported dialects: mssql, mysql, postgres, and sqlite.
    at new Sequelize (/app/node_modules/sequelize/lib/sequelize.js:236:15)
    at Object.<anonymous> (/app/models/index.js:13:18)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/app/routes/apiRoutes.js:1:72)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/app/server.js:3:14)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! teachhub@1.0.0 start: `node server`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the teachhub@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-07-08T15_03_28_369Z-debug.log

有人能帮忙吗

它似乎缺少对sequelize方言的定义。在您的示例“key.dialent”中,假设您已经在配置文件中定义了方言。方言定义了项目中使用的数据库类型,您可以在以下文档中确认:

在文件中:

const sequelize = new Sequelize({
database: 'db_name',
username: 'username',
password: null,
dialect: 'mysql'
});
在代码中:

enter codvar sequelize = new Sequelize( 
Keys.database,
keys.username, 
keys.password, 
keys.dialect
);

谢谢你的建议。。它不起作用。。错误:(gcloud.app.deploy)错误响应:[9]应用程序启动错误:>teachhub@1.0.0start/app>node服务器实例连接名称:my-nodejs-codelab-1217-190421:us-central1:teachhub/app/node_modules/sequelize/lib/sequelize.js:236抛出新错误('方言'+this.getdial()不支持“+”。支持的方言:mssql、mysql、postgres和sqlite。“);^错误:不支持方言my-nodejs-codelab-1217-190421。支持的方言:mssql、mysql、postgres和sqlite。感谢您的反馈。我可以看出你有不同的条件来设置你的“方言”。请不要确保所有情况下都能正确设置“方言”。根据错误消息:“错误:方言my-nodejs-codelab-1217-190421不受支持”,似乎您正在设置项目id,将其放置在“方言”(mysql)的位置。您可以在下面的链接中查看如何设置方言“mysql”。[1] 您好,一旦您更改了代码并进行了测试,您能在这里更新代码和结果吗?这将帮助我们进一步排除故障。
enter codvar sequelize = new Sequelize( 
Keys.database,
keys.username, 
keys.password, 
keys.dialect
);