javascript - 模型中的反对变量列数
问题描述
好吧,我有一个来自数据库模式的模型。然而,这个模式本身可能是可变的,除了id
和列之外,key
列的数量可能会随着时间的推移而改变/增长,我事先不知道列的名称。(是的,我意识到这不是设计数据库的正确方法,但这是我们现在所拥有的)。
export class PersonModel extends Model {
static get tableName() {
return "person"
}
static get idColumn() {
return "id";
}
static get keyColumn() {
return "key";
}
//And some variable number of other columns.
}
我将如何描述Objection
模型?
解决方案
您可以将类包装到一个函数中以定义其属性。这是一个仅传递表名的示例:
export dynamicModelFactory = ({tableName}) => {
class DynamicModel extends Model {
static get tableName() {
return tableName
}
static get idColumn() {
return "id";
}
static get keyColumn() {
return "key";
}
//And some variable number of other columns.
}
return DynamicModel
}
const PersonModel = dynamicModelFactory({tableName: 'person'}) // Getting the Objection dynamic model for person tablename
推荐阅读
- sql - PostgreSQL:`VIEW` 不返回具有`SPLIT_PART()` 列的行
- python - SKIMAGE DLL 加载失败_MAP_ARRAY
- kotlin - 为什么kotlin中两个可变映射的总和是一个映射
- excel - 两个表格之间的自动过滤复制粘贴循环永远循环并返回空白单元格
- java - 查找实现泛型接口的类的类型
- excel - 将文本文件转换为 excel 文件
- rust - Rust 引用 Vec 的当前函数错误所拥有的数据
- javascript - TypeError:null 不是对象(评估'b.body') - Highcharts/wkhtmltopdf
- ubuntu - 开始机器恢复之旅时出现 ubuntu 错误
- aframe - A-Frame:如果没有与孩子相交,则触发父母的 raycaster-intersected-cleared