createTable method
void
createTable(
- String table,
- List<
String> columns, { - List<
ForeignKeyDefinition> foreignKeys = const <ForeignKeyDefinition>[],
Implementation
void createTable(
String table,
List<String> columns, {
List<ForeignKeyDefinition> foreignKeys = const <ForeignKeyDefinition>[],
}) {
final t = table.toNativeUtf8();
final c = columns.join(',').toNativeUtf8();
Pointer<Utf8>? f;
try {
final rc = foreignKeys.isEmpty
? _createTable(_handle, t, c)
: (() {
f = jsonEncode(
foreignKeys
.map((ForeignKeyDefinition e) => e.toJson())
.toList(),
).toNativeUtf8();
return _createTableFk(_handle, t, c, f!);
})();
if (rc != 0) {
throw Exception(lastError());
}
} finally {
malloc.free(t);
malloc.free(c);
if (f != null) {
malloc.free(f!);
}
}
}