带Sequelize的MySQL:ER_BAD_DB_ERROR:未知数据库

时间:2016-09-20 00:57:09

标签: mysql node.js sequelize.js

我正在学习教程,下面是代码:

var Sequelize = require('sequelize')
var sequelize = new Sequelize('basic-mysql-database.mysql', 'root', 'password', {
    'dialect': 'mysql',
    'host': "localhost",
    "port": "3306"
});

var Todo = sequelize.define('todo', {
    description: {
        type: Sequelize.STRING
    },
    completed: {
        type: Sequelize.BOOLEAN

    }
})

sequelize.sync().then(function(){
    console.log('Everything is synced')

    Todo.create({
        description: 'Walking my dog',
        completed: false
    }).then(function (todo){
        console.log('Finished!')
        console.log(todo)
    })
});

我已经安装了MySQL。当我进入Settings> MySQL,它说MySQL Server instance is running

当我运行node testDB.js时,我收到以下错误:

Unhandled rejection SequelizeConnectionError: ER_BAD_DB_ERROR: Unknown database 'basic-mysql-database.mysql'
    at Handshake._callback (/Users/Kausi/Documents/Development/todo-api/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:63:20)
    at Handshake.Sequence.end (/Users/Kausi/Documents/Development/todo-api/node_modules/mysql/lib/protocol/sequences/Sequence.js:85:24)
    at Handshake.ErrorPacket (/Users/Kausi/Documents/Development/todo-api/node_modules/mysql/lib/protocol/sequences/Handshake.js:105:8)
    at Protocol._parsePacket (/Users/Kausi/Documents/Development/todo-api/node_modules/mysql/lib/protocol/Protocol.js:280:23)
    at Parser.write (/Users/Kausi/Documents/Development/todo-api/node_modules/mysql/lib/protocol/Parser.js:74:12)
    at Protocol.write (/Users/Kausi/Documents/Development/todo-api/node_modules/mysql/lib/protocol/Protocol.js:39:16)
    at Socket.<anonymous> (/Users/Kausi/Documents/Development/todo-api/node_modules/mysql/lib/Connection.js:109:28)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at readableAddChunk (_stream_readable.js:153:18)
    at Socket.Readable.push (_stream_readable.js:111:10)
    at TCP.onread (net.js:536:20)

我从未创建任何架构/表。我有MySQL Workbench,我可以创建架构和'Todo'表;但是,我的印象是Sequelize在飞行中这样做了吗?我做错了什么?

1 个答案:

答案 0 :(得分:3)

设置中有一条小线说:

  

相应数据库的凭据

Sync会为您创建表格,但它不会创建数据库。