环回 4,从模型自动创建 table?
Loopback 4, auto create table from models?
我正在尝试使用 Strongloop Loopback 4 框架从模型中自动创建 table。
我遇到的问题是模型属性都是小写的,即使它们是用驼峰命名法定义的。
用户模型示例
@model({ name: 'users', settings: { strict: false }, excludeBaseProperties: ['password'] })
export class User extends Entity {
@property({
type: 'number',
id: true,
required: true,
generated: true,
})
id: number;
@property({
type: 'string',
required: true,
})
firstName: string;
@property({
type: 'string',
required: true,
})
lastName: string;
@property({
type: 'string',
required: true,
index: {
unique: true,
},
})
email: string;
@property({
type: 'string',
required: true,
index: {
unique: true,
},
})
username: string;
@property({
type: 'string',
required: true,
})
password: string;
[prop: string]: any;
constructor(data?: Partial<User>) {
super(data);
}
}
db.datasource.json
{
"name": "db",
"connector": "postgresql",
"url": "postgres://postgres:postgres@localhost:5432/test_db",
"host": "localhost",
"port": 5432,
"user": "postgres",
"password": "postgres",
"database": "test_db"
}
现在我在 package.json 中使用名为 migrate 的脚本或使用 automigrate() 得到了相同的结果。如您所见,名字和姓氏定义为 firstName 和 lastName,但迁移完成后,它们将创建为 firstname 和 lastname。有谁知道可能是什么问题?
找到了,如果以后有人需要的话。在 @属性 对象中添加一个 属性 像这样。
@property({
postgresql: {
columnName: 'cammelCase', // it will be uppercased
},
})
如果有人知道更好的方法请告诉我。
我正在尝试使用 Strongloop Loopback 4 框架从模型中自动创建 table。
我遇到的问题是模型属性都是小写的,即使它们是用驼峰命名法定义的。
用户模型示例
@model({ name: 'users', settings: { strict: false }, excludeBaseProperties: ['password'] })
export class User extends Entity {
@property({
type: 'number',
id: true,
required: true,
generated: true,
})
id: number;
@property({
type: 'string',
required: true,
})
firstName: string;
@property({
type: 'string',
required: true,
})
lastName: string;
@property({
type: 'string',
required: true,
index: {
unique: true,
},
})
email: string;
@property({
type: 'string',
required: true,
index: {
unique: true,
},
})
username: string;
@property({
type: 'string',
required: true,
})
password: string;
[prop: string]: any;
constructor(data?: Partial<User>) {
super(data);
}
}
db.datasource.json
{
"name": "db",
"connector": "postgresql",
"url": "postgres://postgres:postgres@localhost:5432/test_db",
"host": "localhost",
"port": 5432,
"user": "postgres",
"password": "postgres",
"database": "test_db"
}
现在我在 package.json 中使用名为 migrate 的脚本或使用 automigrate() 得到了相同的结果。如您所见,名字和姓氏定义为 firstName 和 lastName,但迁移完成后,它们将创建为 firstname 和 lastname。有谁知道可能是什么问题?
找到了,如果以后有人需要的话。在 @属性 对象中添加一个 属性 像这样。
@property({
postgresql: {
columnName: 'cammelCase', // it will be uppercased
},
})
如果有人知道更好的方法请告诉我。