中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

Node.js與(yu)Sails~Model和ORM的持久(jiu)化

回到目錄

上一講說了在sails里(li)定(ding)義model及相(xiang)關參數的(de)(de)說明,這一(yi)講主要說一(yi)下如何將你的(de)(de)Model持久(jiu)(jiu)(jiu)化(hua)到文件,關系數據(ju)庫(ku)和(he)(he)Nosql數據(ju)庫(ku)里(li),在持久(jiu)(jiu)(jiu)化(hua)這點(dian)上,sails是統一(yi)管理的(de)(de),它(ta)可以在/config/model.js里(li)設(she)置(zhi)全局的(de)(de)持久(jiu)(jiu)(jiu)化(hua)方法,而且它(ta)還可以進行(xing)多種介(jie)質持久(jiu)(jiu)(jiu)化(hua)的(de)(de)并(bing)存(cun)(cun),如你想讓(rang)mysql和(he)(he)mongodb并(bing)存(cun)(cun),只要在指(zhi)定(ding)的(de)(de)/model/實體.js類中,進行(xing)設(she)置(zhi)即(ji)可,如下面(mian)代(dai)碼(ma)將actionjob這個表持久(jiu)(jiu)(jiu)化(hua)到mongodb里(li)

//actionJob.js
module.exports={ connection:"someMongodbServer", //持久化(hua)到mongodb里(li) attributes:{ content: {  type: 'string', size: 255 }, userId:{ type:'integer' } } };

對于數據的持久(jiu)化(hua)主要分為以下幾個步驟,下面一一講(jiang)解

1 安裝缺失的(de)驅動(dong),默認來說(shuo)mongodb和sqlserver都需要進行(xing)安裝,npm install 命令

在命(ming)(ming)令提示窗口輸(shu)入下(xia)面命(ming)(ming)令進行安(an)裝

npm install sails-mongodb
npm install sails-sqlserver

2 添加數據庫連接信息/config/connection.js,下面(mian)以mongodb和sqlserver為例(li)

someMongodbServer: {
        adapter: 'sails-mongo',
        host: '192.168.2.21',
        port: 27017,
        // user: 'username',
        // password: 'password',
        database: 'TestNodeJs'
    },  
 someSqlServer: {
        adapter: 'sails-sqlserver',
        host: '192.168.2.71',
        user: 'sa',
        password: 'zzl123',
        database: 'TestNodeJs'
    }

3 設置(zhi)model所使用哪種(zhong)數據庫(ku)進行持久化/config/model.js

module.exports.models = {

  /***************************************************************************
  *                                                                          *
  * Your app's default connection. i.e. the name of one of your app's        *
  * connections (see `config/connections.js`)                                *
  *                                                                          *
  ***************************************************************************/
 //connection: 'localDiskDb',
connection: 'someSqlServer',
// connection: 'someMongodbServer',
  /***************************************************************************
  *                                                                          *
  * How and whether Sails will attempt to automatically rebuild the          *
  * tables/collections/etc. in your schema.                                  *
  *                                                                          *
  * See //sailsjs.org/#!/documentation/concepts/ORM/model-settings.html  *
  *                                                                          *
  ***************************************************************************/
  migrate: 'alter'//自動合并,不清(qing)除原(yuan)來的數據
};

下面對migrate進行一些說(shuo)明:

  1. safe - never auto-migrate my database(s). I will do it myself (by hand)[不自動合并數據,需要手動控制]
  2. alter - auto-migrate, but attempt to keep my existing data (experimental)[與老數據自動合并,當添加新字段后,數據表才會被刪除,推薦使用]
  3. drop - wipe/drop ALL my data and rebuild models every time I lift Sails[刪除數據表,建立新表,插入新數據]

通過(guo)上面的設(she)置(zhi)之后(hou),運行(xing)你的app.js,如果沒(mei)有出現錯(cuo)誤(wu),說(shuo)明你的數據就(jiu)可以(yi)持(chi)久化(hua)了,呵呵!

小知識:

Mongodb它(ta)對(dui)自(zi)動創建數據(ju)庫(ku)和(he)數據(ju)表(biao)

Sqlserver它需要(yao)手動選建立數(shu)據庫,數(shu)據表自(zi)動建立

注意:

你的項目在(zai)進行github之后(hou),一般情(qing)況(kuang)下(xia)node_modules文件夾不會被管理,即你下(xia)載的npm包(bao)(bao)包(bao)(bao)沒(mei)有(you)被管理,這時(shi)在(zai)異地從(cong)github上下(xia)載源(yuan)碼后(hou),可以在(zai)命令行上輸(shu)入(ru)npm install命令,自(zi)動讓npm根據你的package.json文件下(xia)載所需(xu)要的包(bao)(bao)包(bao)(bao)!

回到目錄

posted @ 2015-10-15 11:19  張占嶺  閱讀(3403)  評論(3)    收藏  舉報