記一次使用sequelize

現(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ù)。

創(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)好了。


創(chuàng)建好的數(shù)據(jù)庫(kù)

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


創(chuàng)建數(shù)據(jù)庫(kù)完成后的代碼

第五步:定義模型

雖然創(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)階,可以多看看官方文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容