Open
Description
It can be very covenient to have schema for binding to row fetched from DB like:
// structured row annotations
struct PlaceFull {
uint id;
string name;
@optional string thumbnail; // ok to be null or missing
@optional GeoRef location; // nested fields ok to be null or missing
@optional @as("contact_person") string contact; // optional, and sourced from field contact_person instead
@ignore File tumbnail; // completely ignored
}
And used as:
// after fetchning
auto place = row.toStruct!PlaceFull;
furthure
// automated struct member uncamelcase
@uncamel struct PlaceOwner {
uint placeID; // matches placeID and place_id
uint locationId; // matches locationId and location_id
string ownerFirstName; // matches ownerFirstName and owner_first_name
string ownerLastName; // matches ownerLastName and owner_last_name
string feedURL; // matches feedURL and feed_url
}