checkDBTableField method
Implementation
bool checkDBTableField(
Type entityType,
String fieldName,
Type? schemeType,
TypeInfo<dynamic>? fieldType,
) {
if (schemeType == null || fieldType == null) {
throw StateError(
"Invalid scheme field(`$entityType`.`$fieldName`) type> schemeType: $schemeType ; fieldType: $fieldType > $this",
);
}
var fieldEntityType = fieldType.entityType;
if (fieldEntityType != null) {
if (schemeType != fieldEntityType &&
!schemeType.isEntityIDType &&
!fieldType.isEntityReferenceBaseType) {
throw StateError(
"Invalid scheme field(`$fieldName`) type> fieldEntityType: $fieldEntityType ; schemeType: $schemeType (invalid ID type) > $this",
);
}
return true;
} else {
var type = fieldType.type;
if (schemeType == type) {
return true;
}
if (schemeType == String) {
var enumReflection = ReflectionFactory().getRegisterEnumReflection(
type,
);
if (enumReflection != null && enumReflection.enumType == type) {
return true;
}
}
throw StateError(
"Invalid scheme field(`$fieldName`) type> fieldType: $type != schemeType: $schemeType > $this",
);
}
}