简体   繁体   English

部署到Google App Engine时出错

[英]Error while deploying to Google App Engine

I am trying to deploy an application to Google App Engine. 我正在尝试将应用程序部署到Google App Engine。 Its a Node.js application with MySQL Backend. 它是带有MySQL后端的Node.js应用程序。 I am using Sequelize ORM. 我正在使用Sequelize ORM。 Both the Cloud SQL Instance and the App Engine are in the same project. Cloud SQL实例和App Engine都在同一个项目中。 When I try to deploy and start the application I am getting the following error. 当我尝试部署并启动应用程序时,出现以下错误。

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

Given below is my models/index.js... 下面给出的是我的models / index.js ...

"use strict";
var fs = require("fs");
var path = require("path");
var Sequelize = require("sequelize");
var basename = path.basename(module.filename);
var env = process.env.NODE_ENV || "development";
let keys = require(__dirname + "/../config/config.js");
keys = keys.dbConfig[env];
var db = {};
if(process.env.INSTANCE_CONNECTION_NAME){
        var sequelize = new Sequelize(process.env.INSTANCE_CONNECTION_NAME, {dialect:"mysql"});
} else if (process.env.JAWSDB_URL) {
  var sequelize = new Sequelize(process.env.JAWSDB_URL);
} else if (keys.use_env_variable) {
  var sequelize = new Sequelize(process.env[keys.use_env_variable], keys);
} else {
  var sequelize = new Sequelize(
    keys.database,
    keys.username,
    keys.password,
    keys
  );
}

Can someone please help? 有人可以帮忙吗?

It seems that it is missing a definition to the sequelize dialect. 似乎它没有为方言方言定义。 In your case 'key.dialect', assuming that you have defined the dialect in your config file. 在您的案例“ key.dialect”中,假设您已在配置文件中定义了方言。 The dialect defines the kind of database used on your project as you can confirm in the following documentation: http://docs.sequelizejs.com/manual/installation/usage.html 您可以在以下文档中确认,该方言定义了项目中使用的数据库的类型: http : //docs.sequelizejs.com/manual/installation/usage.html

In the Documentation: 在文档中:

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

In your code: 在您的代码中:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM