class DatabaseStruct { final String table; final Map struct; const DatabaseStruct(this.table, this.struct); String _toDBfield(String name, dynamic type) { String typeName = ""; switch (type.runtimeType) { case const (int): typeName = "integer"; break; case const (String): typeName = "text"; break; } return "$name ${typeName.toUpperCase()} ${name == 'id' ? 'NOT NULL' : ''}"; } @override String toString() { List columns = []; struct.forEach((key, value) { columns.add(_toDBfield(key, value)); }); return columns.join(","); } }