简介
@xyluet/objection-table-name
是一个基于 objection.js
的插件,它可以自动将查询中的表名转换为指定格式的表名,提供了极大的便利性,减少了手动修改表名的繁琐工作。
使用方法
安装
你可以通过 npm 安装该插件:
npm install --save @xyluet/objection-table-name
引入
在项目入口文件中,引用 @xyluet/objection-table-name
:
const objectionTableName = require('@xyluet/objection-table-name');
导出插件
@xyluet/objection-table-name
是一个插件而非直接使用的库,因此需要导出插件:
-- -------------------- ---- ------- ----- - ----- - - --------------------- ----- ------------------ - ---------------------------------------- ----- --------- ------- ------------------------- - ------ --------- - ------------- -- --- ---- ----- -------- ---- - -------------- - ----------
自定义表名格式
在 YourModel
类中,你可以通过实现 formatTableName
函数来自定义表名的格式:
-- -------------------- ---- ------- ----- --------- ------- ------------------------- - ------ --------- - ------------- ------ -------------------------- - ------ ------------------------------------------- - -- --- ---- ----- -------- ---- -
在上面的例子中,我们将表名的首尾加上了 prefix_
和 _suffix
,并将所有字符转换为小写。
使用插件
之后,你就可以像使用普通的 objection.js
模型一样使用你的模型了。例如,你可以进行一次查询:
YourModel.query().then(console.log);
该查询会输出:
SELECT * FROM prefix_your_table_suffix
示例代码
以下是一个在 Node.js 中使用 @xyluet/objection-table-name
的完整示例:
-- -------------------- ---- ------- -- ------ ----- ------- - ------------------- ----- --------- - ------------------------------ ----- --- - ---------- ------------ ----- ----- ---- -- - ----- ------ - ----- ------------------ ----------------- --- ---------------- -- -- - ------------------- -- -- -- ------------------------ ---
-- -------------------- ---- ------- -- ------------------- ----- - ----- - - --------------------- ----- ------------------ - ---------------------------------------- ----- --------- ------- ------------------------- - ------ --------- - ------------- ------ -------------------------- - ------ ------------------------------------------- - -- --- ---- ----- -------- ---- - -------------- - ----------
在以上示例中,我们使用了 Express 框架来创建一个 HTTP 服务,并在其中使用了我们的 YourModel
模型类进行查询,该模型使用了 @xyluet/objection-table-name
插件,将表名格式化为 prefix_your_table_suffix
的形式。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671d530d0927023822b42