簡體   English   中英

帶有 Joi 綁定的 Knex.js

[英]Knex.js with Joi binding

我正在將 Knex.js(以及 Bookshelf.js)與 PostreSQL DB 一起使用,我正在嘗試“提取”SQL 模式,以便將它與JoiCheckit 之類的東西一起使用。

這里只是一個簡單的例子:
用 knex 編寫的架構:

return knex.schema.createTable('users', table => {
  table.string('username').notNullable()
  table.string('password')
})

我想自動獲得什么:

const schema = Joi.object().keys({
  username: Joi.string().required(),
  password: Joi.string()
})

關鍵是避免在將模式傳遞給書架/knex 之前,避免將模式寫入兩次並以編程方式驗證對象。 有沒有內置的方法來做到這一點? 或者任何最佳實踐?

您需要手動執行此操作或編寫自己的模式構建器,輸出 Joi 模式和 knex 遷移...

通常人們只是在knex單獨進行遷移,然后更新 Joi 驗證以與更改的數據庫架構同步。

如果人們正在尋找類似的服務,那么就會有人問。 我剛剛發布了一個使用KnexJoi 模式轉換為SQL 表

https://github.com/Fantasim/joi-to-sql

目前,該庫僅支持 MySQL 及其基本功能,但我計划添加更多類似自動遷移的功能(在 MySQL 上)。 如果您需要其他功能或其他數據庫支持,歡迎請求請求!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM