In many cases, we do not need to get all the fields of an orm object from the database. So I added a'select(List fields)' method to the code generated by'orm_generator' to specify the fields that need to be obtained.
e.g.
part 'user.g.dart';
@serializable
@orm
abstract class _User extends Model {
@SerializableField()
String? get name;
@SerializableField()
int? get age;
}
Before:
void main() {
var userQuery = UserQuery();
userQuery.getOne(SQLQueryExecutor()).then((value) => print(json
.encode(value.value.toJson()..removeWhere((_, value) => value == null))));
}
==>
# SELECT id, created_at, updated_at, name, age FROM users
# {"id":"1","created_at":"2022-01-04T20:09:40.151649","updated_at":"2022-01-04T20:09:40.151650","name":"dx","age":29}
After:
void main() {
var userQuery = UserQuery().select([
UserFields.name,
UserFields.age,
]);
userQuery.getOne(SQLQueryExecutor()).then((value) => print(json
.encode(value.value.toJson()..removeWhere((_, value) => value == null))));
}
==>
# SELECT name, age FROM users
# {"name":"dx","age":29}
In many cases, we do not need to get all the fields of an orm object from the database. So I added a'select(List fields)' method to the code generated by'orm_generator' to specify the fields that need to be obtained.
e.g.
Before:
After: