在书写复杂的数据库操作代码时,我们往往会希望能够简化这个过程。因此,在前端开发中,出现了一些使用 ORM(Object Relational Mapping) 快速操作数据库的方案。其中,bookshelf 是基于 Knex.js 的 ORM 库,它可以帮助我们更方便地操作数据库。
在使用 bookshelf 时,如果再配合上一个名叫 bookshelf-schema-skuid 的 npm 包,可以更快速地进行数据表建立和修改操作,也更容易组织代码,使得结构清晰易于维护。
在本文中,我们将详细介绍如何使用 npm 包 bookshelf-schema-skuid。
什么是 bookshelf-schema-skuid
bookshelf-schema-skuid 是一个针对 bookshelf 开发的插件,它可以让我们更加轻松地管理单个数据库对象以及数据库之间的关系。它允许我们通过编写 schema 描述与数据表进行关联,从而生成对应的数据表架构。
这个插件会生成 JavaScript 对象的集合,这些对象包含了表中每一列的名称以及类型,并且没有多余的属性和件数。而且可以自动生成一些其他的有用函数,能够帮助我们更加方便地操作数据库。
安装
在安装 bookshelf-schema-skuid 之前,确保我们已经安装了 bookshelf 和 knex。
使用 npm 安装:
npm i bookshelf-schema-skuid
如何使用
在使用 bookshelf-schema-skuid 之前,需要先加载我们的数据库。以 MySQL 为例子:
-- -------------------- ---- ------- ----- ---- - ----------------- ------- -------- ----------- - ---- - ------------ ---- - ------- -------- - --------- -------- - ------ - --- ----- --------- - ---------------------------
加载完 bookshelf 之后,我们就可以使用 bookshelf-schema-skuid 了,只需要如下操作:
const skuid = require('bookshelf-schema-skuid')(bookshelf);
然后,我们可以创建一个模型和 schema 文件:
-- -------------------- ---- ------- -- ------ -------- ----- --------- - ----------------------- ----- - ----- - - ---------- ----- ----- - --------------------------------------------- ----- ------------ - -------------- ---------- ------------- ------- --------------------- ----- - ----- ------- ------- -- -- ------- - ----- ------- ---------- - -- -- --- ----- ----- - --- --------------- -------------------------- -- - ------------------ --- -------------- - -------------
-- -------------------- ---- ------- -- -- ------ -- --------- ----- ----- - ---------------------------------- ----- - ------ - - ------ ----- ------ - --------------- ----- - ----- ------- ------- -- -- ------- - ----- ------- ---------- - -- --- -------------- - -------
以上代码中,我们定义了一张 test_table 表,并定义了它的两个字段:name 和 status。name 的长度是 40,status 默认值为 0。
在执行 fetchAll() 时,它将返回测试案例的数据。
对数据表的操作
在创建好表之后,我们就可以进行一些操作了,包括增加、删除、查找和修改。下面是一些展示这些操作的示例代码:
-- -------------------- ---- ------- ----- --------- - ------------------- ----- -------- - ---------------- --------------------- -------- -- - ------------------- -- - ------ --------------------------------- -------------------------------------- -------- --- -------------- -- - ------ --------------------------------- -------------------------------------- -------- --- ------------ -------- -- - ------ ----------------- ----- ------------------- -- - -------- ----- --------- -------------- -- - ------- ----------------- ----- ------------------- -- - -------- ----- ---------- -------------- --- - ---------------------------------------------------- --- --- --- ------------ -------- -- - ----- ---------- - --------------------- ------ ----------------- ----- ------------------- ------------------------ --- - ------ -------- ----- ---------- -- -------------- -- - ------------------------------------------- --- --- --- ------------ -------- -- - ------ ----------------- ----- ------------------- ------------ -------- ----- -- -------------- -- - ------ ----------------- ----- ------------------- ---------- -------------- --- - ------------------------- --- --- --- ---
总结
通过本文的介绍,我们可以知道 bookshelf-schema-skuid 的信息,以及如何使用它来简化前端开发中的数据库操作。在实践过程中还会面对一些更具体的问题,我们需要仔细了解它的 API 才能完全符合我们的需要。不过,本篇文章中的内容应该对读者有所帮助,可以帮助我们更快地上手和使用 bookshelf-schema-skuid。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005671481e8991b448e3659