sql_logger.dart 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import 'package:drift/drift.dart';
  2. class SqlLoggingInterceptor extends QueryInterceptor {
  3. @override
  4. Future<List<Map<String, Object?>>> runSelect(
  5. QueryExecutor executor,
  6. String statement,
  7. List<Object?> args,
  8. ) {
  9. print('[Drift] SELECT: $statement | args: $args');
  10. return executor.runSelect(statement, args);
  11. }
  12. @override
  13. Future<int> runInsert(
  14. QueryExecutor executor,
  15. String statement,
  16. List<Object?> args,
  17. ) {
  18. print('[Drift] INSERT: $statement | args: $args');
  19. return executor.runInsert(statement, args);
  20. }
  21. @override
  22. Future<int> runUpdate(
  23. QueryExecutor executor,
  24. String statement,
  25. List<Object?> args,
  26. ) {
  27. print('[Drift] UPDATE: $statement | args: $args');
  28. return executor.runUpdate(statement, args);
  29. }
  30. @override
  31. Future<int> runDelete(
  32. QueryExecutor executor,
  33. String statement,
  34. List<Object?> args,
  35. ) {
  36. print('[Drift] DELETE: $statement | args: $args');
  37. return executor.runDelete(statement, args);
  38. }
  39. @override
  40. Future<void> runCustom(
  41. QueryExecutor executor,
  42. String statement,
  43. List<Object?> args,
  44. ) {
  45. print('[Drift] CUSTOM: $statement | args: $args');
  46. return executor.runCustom(statement, args);
  47. }
  48. @override
  49. Future<void> runBatched(
  50. QueryExecutor executor,
  51. BatchedStatements statements,
  52. ) {
  53. for (final s in statements.statements) {
  54. print('[Drift] BATCHED: $s');
  55. }
  56. return executor.runBatched(statements);
  57. }
  58. }