【问题标题】:Sequelize and MySQL with MAMP, I get an errorSequelize 和 MySQL 与 MAMP,我得到一个错误
【发布时间】:2013-03-16 02:52:58
【问题描述】:

我在使用 Sequelize for Express (node.js) 时遇到问题。我尝试将 MAMP Mac 中的 MySQL 数据库与 Sequelize 连接以进行 express,但它不起作用,我不明白为什么,但出现错误:

也许我必须编辑 MySQL 配置文件以添加注释“MAMP_skip-networking_MAMP”,但我没有找到 MAC 的 MySQL 配置文件...

我的代码:

var Sequelize = require("sequelize");

var db = new Sequelize('express', 'root', 'root', {
    host: '127.0.0.1',
    port: '3306'
});

var Project = db.define('Project', {
    date: Sequelize.DATE,
    title: Sequelize.STRING,
    description: Sequelize.TEXT
});

var project = Project.build({
    date: new Date(),
    title: 'Mon premiéé projeétçç!!',
    description: 'dsqlmdskq lkqskl ksqlmk lsmdqklm'
});

project
    .save();

【问题讨论】:

  • 确定凭据正确且表已存在?
  • 我还没有建表,但是如果我建了表,是不是一定要加主键?
  • 在创建实例之前使用sequelize.sync
  • 感谢它与 sync() 函数一起使用!
  • 请采纳答案。

标签: mysql node.js express sequelize.js


【解决方案1】:

尝试使用端口8889 而不是3306

【讨论】:

  • @NguyenTanDat 那是default port for MySQL on MAMP
  • 感谢您的解释,终于我发现我的问题是我在更改端口后没有重新启动MamP。现在一切正常!
【解决方案2】:

试试这个:

var Sequelize = require("sequelize"); 
var db = new Sequelize('express', 'root', 'root', {
  host: '127.0.0.1',
  port: '3306' 
});

var Project = db.define('Project', {
  date: Sequelize.DATE,
  title: Sequelize.STRING,
  description: Sequelize.TEXT 
});

db.sync().success(function() {
  var project = Project.build({
    date: new Date(),
    title: 'Mon premiéé projeétçç!!',
    description: 'dsqlmdskq lkqskl ksqlmk lsmdqklm' 
  });

  project.save();
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2018-05-07
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多