擴展模型功能
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 } };