[英]Knex.js with Joi binding
我正在將 Knex.js(以及 Bookshelf.js)與 PostreSQL DB 一起使用,我正在嘗試“提取”SQL 模式,以便將它與Joi或Checkit 之類的東西一起使用。
這里只是一個簡單的例子:
用 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 驗證以與更改的數據庫架構同步。
如果人們正在尋找類似的服務,那么就會有人問。 我剛剛發布了一個使用Knex將Joi 模式轉換為SQL 表的庫。
https://github.com/Fantasim/joi-to-sql
目前,該庫僅支持 MySQL 及其基本功能,但我計划添加更多類似自動遷移的功能(在 MySQL 上)。 如果您需要其他功能或其他數據庫支持,歡迎請求請求!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.