我正在学习教程,下面是代码:
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
在飞行中这样做了吗?我做错了什么?
答案 0 :(得分:3)
设置中有一条小线说:
相应数据库的凭据
Sync会为您创建表格,但它不会创建数据库。