現(xiàn)在已經(jīng)做了兩個(gè)個(gè)人網(wǎng)站的項(xiàng)目了,其中都有用到sequelize、sqlite3,但是兩次使用下來(lái)還是不太熟練,所以再次記錄下來(lái),一是加深印象;二來(lái)要是再記不清楚,也不用再花太多時(shí)間來(lái)尋找解決方法了。
第一步:安裝npm包
npm install sqlite3 --save-dev
npm install sequelize --save
第二步:創(chuàng)建一個(gè)model文件夾,在其中創(chuàng)建一個(gè)js文件,用來(lái)創(chuàng)建和操作數(shù)據(jù)庫(kù)。

第三步:進(jìn)入teacherEssay.js文件
第四步:引入必要的模塊,并且創(chuàng)建一個(gè)空白的數(shù)據(jù)庫(kù)
let path = require('path')
let Sequelize = require('sequelize')
然后創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),由于不是用的mysql、postgres、mssql等數(shù)據(jù)庫(kù),并且也不需要什么用戶名什么的,所以就把那些東西全都省去了。
var sequelize = new Sequelize(undefined, undefined, undefined, {
host: 'localhost',
dialect: 'sqlite',
storage: path.join(__dirname,'./database/teacherEssay.sqlite')
});//在你需要的地方,創(chuàng)建好這個(gè)database文件夾
sequelize
.authenticate()
.then(function(err) {
console.log('Connection has been established successfully.');
})
.catch(function (err) {
console.log('Unable to connect to the database:', err);
});
現(xiàn)在,保存文件,并且在命令行運(yùn)行這個(gè)文件。
node teacherEssay.js
現(xiàn)在,在你的database文件夾下就多了一個(gè)teacherEssay.sqlite文件,這代表一個(gè)數(shù)據(jù)庫(kù)就創(chuàng)好了。

到了這一步,上面的部分代碼已經(jīng)可以不要了,你可以注釋掉或者直接刪掉了,如下:

第五步:定義模型
雖然創(chuàng)建好了數(shù)據(jù)庫(kù),但是里面還是一片空白,所以現(xiàn)在還要定義模型。
// 定義模型
var TeacherEssay = sequelize.define('teacherEssay', {
EssayTitle:{
type:Sequelize.STRING
},
EssayPreview:{
type: Sequelize.STRING
}
});
// 如果在TeacherEssay.sync()中寫入force:true,
// 那么將在重新創(chuàng)建數(shù)據(jù)庫(kù)之前刪除原來(lái)的數(shù)據(jù)庫(kù)
TeacherEssay.sync().then(function () {
// Table created
return TeacherEssay.create({
EssayTitle: '歡迎來(lái)到數(shù)學(xué)樂(lè)園',
EssayPreview: '這里是數(shù)學(xué)樂(lè)園',
});
});
在定義數(shù)據(jù)類型的時(shí)候,可以參考 官方文檔。
定義好模型,并創(chuàng)建了第一組數(shù)據(jù)后,可以通過(guò)下面的代碼來(lái)檢查一次是否創(chuàng)建成功。
TeacherEssay.findAll({raw:true}).then(function(essay){
console.log(essay)
})
同樣,如果都創(chuàng)建成功了,又有些代碼可以不要了:

第六步:引出模塊
module.exports.TeacherEssay = TeacherEssay
至此,一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)就弄好了。完整代碼在這。
當(dāng)然,這只是一個(gè)非常簡(jiǎn)單的數(shù)據(jù)庫(kù),如果想要進(jìn)階,可以多看看官方文檔。