Sequelize入門一


最近剛開始接觸Sequelize,當中遇到不少坑,所以想寫篇Sequelize入門和大家分享,避免有道友和我一樣爬坑。 學習sequelize的初衷是想解決SQL注入,它支持MySQL, SQLite, MariaDB and MSSQL,文中以MySQL舉例。

第一步:實例化sequelize數據庫連接

var Sequelize = require('sequelize');
var sequelize = new Sequelize('database','user','password',{host : 'XXX', port : 'XXX', dialect : 'mysql'});

當然,我只是用了最簡單的連接方式,具體的參數詳見http://www.nodeclass.com/api/sequelize.html

第二步:定義Model,通俗來說就是將你的表結構定義出來。

var a= sequelize.define('a', {
        id: {type: Sequelize.STRING, max: 20},
        Typess: {type: Sequelize.STRING, max: 20},
        startStation: {type: Sequelize.STRING, max: 20},
        endStation: {type: Sequelize.STRING, max: 20},
        R_Date: {type: Sequelize.STRING, max: 20},
        Distance: {type: Sequelize.STRING, max: 20}
    },{ freezeTableName: true,
        timestamps: false})

define里面的第一個參數是表名;第二個參數是定義字段,這里我只是最簡單的定義了類型、長度,類如是否允許為空,default值等等就需要大家參考文檔了; 第三個參數不填的話會使用默認定義選項提供給Sequelize構造函數。此處讓我爬坑爬了許久...

簡單介紹下其中的兩個參數:

freezeTableName: 默認為false,當為false時,如果你數據庫中已有表a的話,sequelize會修改你的表名,我測試的結果是幫我的表名"a" 加了個s,導致我查詢表a的數據時,總會報不存在該表。

timestamps: 默認為true,它會為你的表添加兩個額外的字段“createdAt”、"updatedAt"。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM