createTrSchemaMetaData static method
Implementation
static SchemaMetaData createTrSchemaMetaData(SchemaMetaData smd) {
SchemaMetaData smdSys = SchemaMetaData(true);
smd
.getTableMetaDataList(includeComms: false)
.forEach((TableMetaData usrTmd) {
String tableNameTr = usrTmd.table_name + C_TABLE_EXT;
Map<String, List<String>> uniqueKeysMap = {
'ts': ["ts"],
'user_id': ["user_id", "user_ts"]
};
smdSys.addTable(usrTmd.table_id, tableNameTr,
uniqueKeysMap: uniqueKeysMap, propertiesMap: usrTmd.propertyMap);
usrTmd.getFieldList().forEach((FieldMetaData usrFmd) {
smdSys.addField(usrFmd.table_id, usrFmd.fieldName, usrFmd.fieldDataType,
fieldSize: usrFmd.fieldSize,
notNull: usrFmd.notNull,
autoIncrement: false);
});
smdSys.addField(usrTmd.table_id, "ts", FieldDataType.INTEGER);
smdSys.addField(usrTmd.table_id, "operation", FieldDataType.SMALLINT);
smdSys.addField(usrTmd.table_id, "user_id", FieldDataType.MEDIUMINT,
notNull: false);
smdSys.addField(usrTmd.table_id, "user_ts", FieldDataType.INTEGER,
notNull: false);
smdSys.addField(usrTmd.table_id, "comment", FieldDataType.VARCHAR,
fieldSize: 150, notNull: false);
smdSys.addField(usrTmd.table_id, "crc", FieldDataType.BIGINT,
notNull: false);
smdSys.getTableByName(tableNameTr)!.setProperty('index', 'ts');
});
// Non _TR Tables
smdSys = WaterLineDto.addSchemaMetaData(smdSys);
smdSys = WaterLineFieldDto.addSchemaMetaData(smdSys);
smdSys.addTable(AuthenticationDto.C_TABLE_ID, 'authentication');
smdSys.addTable(EntryReceivedDto.C_TABLE_ID, 'entry_received');
smdSys.addTable(C_LAST_FIELD_RECEIVED_TABLE_ID, 'last_field_received');
smdSys.addTable(C_MAX_INT_TABLE_ID, 'max_int');
smdSys.addTable(RemoteStatusDto.C_TABLE_ID, 'remote_state');
return smdSys;
}