2024-06-19 22:34:56 +02:00

31 lines
657 B
Dart

class DatabaseStruct {
final String table;
final Map<String, dynamic> 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<String> columns = [];
struct.forEach((key, value) {
columns.add(_toDBfield(key, value));
});
return columns.join(",");
}
}