getInsertSQL function
Implementation
Either<String, String> getInsertSQL(
List<GenericField> fields, String fullTableName) {
var columns = '';
var values = '';
var returning = '';
var sql = 'insert into $fullTableName';
try {
getAssignedFields(fields).forEach((field) {
columns += ',${field._fieldName}';
values += ',${field._getSqlValue()}';
});
fields
.where((element) => element._isSerial || element._isId)
.forEach((field) {
returning += ',${field._fieldName}';
});
sql +=
' (${columns.replaceFirst(',', '')}) values(${values.replaceFirst(',', '')})';
if (returning.isNotEmpty) {
sql += ' returning ${returning.replaceFirst(',', '')}';
}
return right(sql);
} on Exception catch (e) {
return left('Unknown exception: $e');
}
}