老师,为什么我的代码运行没有任何反应。。。
来源:5-8 Sequelize个性化配置与数据维护策略

o杨飞o
2019-06-20
/core/db.js
const Sequelize = require('sequelize')
const { dbName, host, port, user, password } = require('../config/config').database
const sequelize = new Sequelize(dbName, user, password, {
dialect: 'mysql', // 指定数据库类型, mysql的驱动 mysql2, 具体的看 sequelize 文档
host,
port,
logging: true, // 打印数据日志
timezone: '+08:00', // 时区设置
define: {}
})
// 连接检测
sequelize.authenticate()
.then(() => {
console.log('Connection has been established successfully.')
})
.catch(err => {
console.error('Unable to connect to the database:', err)
})
// 同步模型
sequelize.sync()
.then(res => {
console.log(res, 'init db ok')
})
.catch(err => {
console.log('init db error', err)
})
module.exports = {
sequelize
}
models/user.js
const { sequelize } = require('../core/db')
const { Sequelize, Model } = require('sequelize')
class User extends Model {}
User.init({
id: {
type: Sequelize.INTEGER, // 整数类型
primaryKey: true, // 主键
autoIncrement: true, // 自增长
},
nickName: Sequelize.String,
email: Sequelize.String,
password: Sequelize.String,
openid: {
type: Sequelize.String(64), // 最大长度64
unique: true // 唯一
}
}, { sequelize, modelName: 'user' })
app.js
const Koa = require('koa')
const parser = require('koa-bodyparser')
const InitManager = require('./core/init')
const catchError = require('./middlewares/exception')
// 初始化 mysql 模型
require('./models/user')
// 实例化 KOA 类
const app = new Koa()
// 使用中间件,可以获取到 body 传参
app.use(parser())
// 错误处理中间件
app.use(catchError)
// 初始化路由
InitManager.initCore(app)
// 启动服务,监听端口
app.listen(3000)
运行后的输出
╰─ yarn start:dev
yarn run v1.16.0
$ nodemon --inspect-brk
[nodemon] 1.19.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node --inspect-brk app.js`
Debugger listening on ws://127.0.0.1:9229/b8558e29-0ef3-461d-98c5-0fd8dd7be2b2
For help, see: https://nodejs.org/en/docs/inspector
不知道为什么,就是没有数据库相关的输出。。。我数据库确定,一定,肯定是开启的,可以用数据库工具连接,配置的账号密码也是正确的。
相关的库也都下载了。。。
{
"name": "island",
"version": "1.0.0",
"license": "MIT",
"main": "app.js",
"scripts": {
"start:dev": "nodemon --inspect-brk",
"start:prod": "node app.js"
},
"dependencies": {
"axios": "^0.18.0",
"basic-auth": "^2.0.1",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^8.4.0",
"koa": "^2.7.0",
"koa-bodyparser": "^4.2.1",
"koa-router": "^7.4.0",
"koa-static": "^5.0.0",
"lodash": "^4.17.11",
"module-alias": "^2.2.0",
"mysql2": "^1.6.5",
"npm-check": "^5.9.0",
"require-directory": "^2.1.1",
"sequelize": "^5.6.1",
"validator": "^10.11.0"
},
"devDependencies": {
"nodemon": "^1.19.0"
}
}
mysql的版本是 8.0 这个应该不会有问题吧,有问提至少也应该打印个无法连接吧。。。。
写回答
1回答
-
o杨飞o
提问者
2019-06-24
解决了,是引用的地方错了,把导入放在下面就行了。。。
const Koa = require('koa') const parser = require('koa-bodyparser') const InitManager = require('./core/init') const catchError = require('./middlewares/exception') // 实例化 KOA 类 const app = new Koa() // 使用中间件,可以获取到 body 传参 app.use(parser()) // 错误处理中间件 app.use(catchError) // 初始化路由 InitManager.initCore(app) // 初始化 mysql 模型 require('./app/models/user') // 启动服务,监听端口 app.listen(3000)
这样就没有问题了。。。
10
相似问题