forked from firka/student-legacy
31 lines
657 B
Dart
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(",");
|
|
}
|
|
}
|