代码之家  ›  专栏  ›  技术社区  ›  Asad

消息创建不是sequelize cli的函数

  •  1
  • Asad  · 技术社区  · 7 年前


    我需要显式建立db连接还是它自动选择 来自配置的凭据。要建立连接的json文件?


    模型/消息。js公司

    'use strict';
    module.exports = (sequelize, DataTypes) => {
    var Messages = sequelize.define('Messages', {
     room: DataTypes.STRING,
    nickname: DataTypes.STRING,
    message: DataTypes.STRING,
    receiver: DataTypes.STRING
     }, {
    classMethods: {
      associate: function(models) {
        // associations can be defined here
      }
    }
    });
     return Messages;
    };
    

    这是配置。json文件 配置/配置。json

    {
    "development": {
    "username": "root",
    "password": "asad",
    "database": "chat",
    "host": "127.0.0.1",
    "dialect": "mysql"
    },
    "test": {
    "username": "root",
    "password": null,
    "database": "database_test",
    "host": "127.0.0.1",
    "dialect": "mysql"
     },
    "production": {
    "username": "root",
    "password": null,
    "database": "database_production",
    "host": "127.0.0.1",
    "dialect": "mysql"
     }
    }
    

    这是我用来保存记录的服务器文件 应用程序。js文件

     var express = require('express');
     var router = express.Router();
      var app = express();
     var server = require('http').createServer(app);
     server.listen(4000);
     var Messages=require('../models/Messages.js');
    
    router.post('/', function(req, res, next) {
      var a =req.body;
    
     Messages.create(a).then(() => {
    
      console.log('success ')
    
    })
     })
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Vikash Dahiya    7 年前

    制作sequelize连接实例并导出,请根据您的环境使用config

    const sql = new Sequelize(config.database, config.username, config.password, {
      host: config.host,
      dialect: config.dialect,
      pool: {
        max: 5,
        min: 0,
        idle: 10000
      },
    
    });
    module.export = sql;
    

    在你的应用程序中。js导入sql实例并在启动服务器之前连接数据库。

    var express = require('express');
    var router = express.Router();
    var app = express();
    var server = require('http').createServer(app);
    var sql = require(./sql);
    sql.authenticate().then(()=>{
       server.listen(4000);
    });
    
    var Messages= sql.import('../models/Messages.js');
    
    router.post('/', function(req, res, next) {
      var a =req.body;
    
     Messages.create(a).then(() => {
    
      console.log('success ')
    
    })
    })