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

问题描述:

我下面的教程和下面是代码:的MySQL与Sequelize:ER_BAD_DB_ERROR:未知数据库

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

我不认为sequelize可以为你创建一个数据库。它只会为你制作一张桌子。首先创建数据库然后让sequlizer创建你的表(只需创建你的数据库) – Beginner

有一个在安装一个小小的一行说:

The credentials for the respective database

同步将创建表给你,但它不会创建数据库。