delete<_Model extends SqliteModel> method
Future<int>
delete<_Model extends SqliteModel>(
- _Model instance, {
- Query? query,
- ModelRepository<
SqliteModel> ? repository,
Remove record from SQLite. query
is ignored.
Implementation
@override
Future<int> delete<_Model extends SqliteModel>(instance, {query, repository}) async {
final adapter = modelDictionary.adapterFor[_Model]!;
final db = await getDb();
final existingPrimaryKey = await adapter.primaryKeyByUniqueColumns(instance, db);
if (instance.isNewRecord || existingPrimaryKey == null) {
throw ArgumentError(
'$instance cannot be deleted because it does not exist in the SQLite database.',
);
}
return await db.delete(
'`${adapter.tableName}`',
where: '${InsertTable.PRIMARY_KEY_COLUMN} = ?',
whereArgs: [existingPrimaryKey],
);
}