模型中列的对象变量数
Objection variable number of columns in a model
好吧,假设我有一个来自数据库模式的模型。然而,这个模式本身可能是可变的,除了 id
和 key
列之外,列数可能 change/grow 随着时间的推移,我事先不知道列的名称。 (是的,我意识到这不是设计数据库的正确方法,但这是我们现在所拥有的)。
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
模型描述这个?
您可以将 class 包装到函数中以定义其属性。这是一个仅传递表名的示例:
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
好吧,假设我有一个来自数据库模式的模型。然而,这个模式本身可能是可变的,除了 id
和 key
列之外,列数可能 change/grow 随着时间的推移,我事先不知道列的名称。 (是的,我意识到这不是设计数据库的正确方法,但这是我们现在所拥有的)。
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
模型描述这个?
您可以将 class 包装到函数中以定义其属性。这是一个仅传递表名的示例:
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