Raj*_*oit 2 node.js express bookshelf.js
我正在为我的 Express.js 应用程序使用 Bookshelf.js ORM,在 Bookshelf ORM 中仅给出了定义模型和关联的示例..
我找不到任何地方,如何定义模型属性和数据类型,例如
name: {
type: string
}
age: {
type: number
}
Run Code Online (Sandbox Code Playgroud)
需要帮助.. 提前致谢..
你不能。属性及其类型取自数据库模式。在 Bookshelf 中定义属性最接近的是键定义:主键和外键。但即便如此,您也仅限于它们的名称和关键语义,类型取决于它们的数据库类型。
但是,如果您想在代码中定义它们,您可以使用 Knex Schema Builder和Migrations功能。喜欢:
// 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');
};
Run Code Online (Sandbox Code Playgroud)
但请记住,这些定义与相应的 Bookshelf 模型无关。使它们保持同步是您的职责。