数据库
首页 > 数据库> > 带有Sequelize的MySQL:ER_BAD_DB_ERROR:未知数据库

带有Sequelize的MySQL: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.当我进入设置> MySQL,并说MySQL Server实例正在运行

当我运行节点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可以即时运行吗?我究竟做错了什么?

解决方法:

设置中有一条很小的线,上面写着:

The credentials for the respective database

Sync会为您创建表,但是不会创建数据库.

标签:sequelize-js,node-js,mysql
来源: https://codeday.me/bug/20191118/2026028.html