2016-06-28 83 views
1

正在使用Bookshelf.js ORM我Express.js的應用程序,在書架ORM只給例如用於定義模型和協會書架ORM如何定義模型屬性和數據類型

我沒有找到任何地方,如何提前定義模型的屬性和數據類型一樣

name: { 
    type: string 
} 
age: { 
    type: number 
} 

需要幫助的..謝謝..

回答

2

你不能。屬性及其類型取自數據庫模式的。在書架中定義屬性最接近的是關鍵定義:主鍵和外鍵。但即使這樣,你也只限於他們的名字和關鍵語義,這些類型決定於他們的數據庫類型。

如果您想要在代碼中定義它們,您可以使用Knex Schema BuilderMigrations功能。像:

// 0001_people.js 
'use strict'; 

exports.up = function(knex, Promise) { 
    return knex.schema.createTable('people', function(table) { 
    table.increments('id').primary(); 
    table.string('name').unique().notNullable(); 
    table.integer('age').notNullable(); 
    }); 
}; 

exports.down = function(knex, Promise) { 
    return knex.schema.dropTable('people'); 
}; 

但請記住,這些定義並不依賴於相應的書架模型。你的責任是保持同步。

相關問題