扩展模型功能
Think.js 框架默认没有提供模型的功能,须要加载对应的扩展才能支持,对应的模块为 think-model。修改扩展的配置文件 src/config/extend.js,添加以下的配置mysql
// 添加模型的扩展 const model = require('think-model'); // 让框架支持模型的功能 module.exports = [ model(think.app) ]
添加模型的扩展后,会添加方法 think.Model、think.model、ctx.model、controller.model、service.model。
1.在 Thinkjs 项目下,配置 src/config/adapter.js 文件sql
// adapter.js // 引用database.js const database = require('./database.js'); ... exports.model = { type: 'mysql', common: { logConnect: isDev, logSql: isDev, logger: msg => think.logger.info(msg) }, mysql: database };
2.在 Thinkjs 项目下,配置 src/config/database.js 文件数据库
// database.js module.exports = { handle: mysql, database: 'think', // database_name prefix: 'think_', // database_table 前缀 encoding: 'utf8mb4', host: '127.0.0.1', // Your MySQL host port: '3306', // Your MySQL port user: '', password: '', dateStrings: true };
或者直接在 adapter.js 内配置app
// adapter.js const mysql = require('think-model-mysql'); ... exports.model = { type: 'mysql', common: { logConnect: isDev, logSql: isDev, logger: msg => think.logger.info(msg) }, mysql: { handle: mysql, database: 'think', // database_name prefix: 'think_', // database_table 前缀 encoding: 'utf8mb4', host: '127.0.0.1', // Your MySQL host port: '3306', // Your MySQL port user: '', password: '', dateStrings: true } };