@@ -8,13 +8,16 @@ import 'package:flutter/material.dart';
8
8
import 'package:flutter/services.dart' ;
9
9
import 'package:logging/logging.dart' ;
10
10
import 'package:sentry_flutter/sentry_flutter.dart' ;
11
+ import 'package:sentry_sqflite/sentry_sqflite.dart' ;
12
+ import 'package:sqflite/sqflite.dart' ;
11
13
import 'package:universal_platform/universal_platform.dart' ;
12
14
import 'package:feedback/feedback.dart' as feedback;
13
15
import 'package:provider/provider.dart' ;
14
16
import 'user_feedback_dialog.dart' ;
15
17
import 'package:dio/dio.dart' ;
16
18
import 'package:sentry_dio/sentry_dio.dart' ;
17
19
import 'package:sentry_logging/sentry_logging.dart' ;
20
+ // import 'package:sqflite_common_ffi/sqflite_ffi.dart';
18
21
19
22
// ATTENTION: Change the DSN below with your own to see the events in Sentry. Get one at sentry.io
20
23
const String _exampleDsn =
@@ -35,6 +38,7 @@ Future<void> main() async {
35
38
),
36
39
),
37
40
_exampleDsn);
41
+ databaseFactory = SentrySqfliteDatabaseFactoryMixin ();
38
42
}
39
43
40
44
Future <void > setupSentry (AppRunner appRunner, String dsn) async {
@@ -51,6 +55,7 @@ Future<void> setupSentry(AppRunner appRunner, String dsn) async {
51
55
options.reportSilentFlutterErrors = true ;
52
56
options.attachScreenshot = true ;
53
57
options.attachViewHierarchy = true ;
58
+ options.environment = 'dev' ;
54
59
// We can enable Sentry debug logging during development. This is likely
55
60
// going to log too much for your app, but can be useful when figuring out
56
61
// configuration issues, e.g. finding out why your events are not uploaded.
@@ -132,6 +137,10 @@ class MainScaffold extends StatelessWidget {
132
137
child: Column (
133
138
children: [
134
139
const Center (child: Text ('Trigger an action:\n ' )),
140
+ ElevatedButton (
141
+ onPressed: () => sqfliteTest (),
142
+ child: const Text ('sqflite' ),
143
+ ),
135
144
ElevatedButton (
136
145
onPressed: () => SecondaryScaffold .openSecondaryScaffold (context),
137
146
child: const Text ('Open another Scaffold' ),
@@ -393,6 +402,38 @@ class MainScaffold extends StatelessWidget {
393
402
),
394
403
);
395
404
}
405
+
406
+ Future <void > sqfliteTest () async {
407
+ // sqfliteFfiInit();
408
+ // databaseFactory = databaseFactoryFfi;
409
+ // databaseFactory = SentryDatabaseFactory(databaseFactoryFfi);
410
+ // databaseFactory = SentrySqfliteDatabaseFactoryMixin();
411
+
412
+ final tr = Sentry .startTransaction (
413
+ 'sqfliteTest' ,
414
+ 'db' ,
415
+ bindToScope: true ,
416
+ );
417
+
418
+ var db = await openDatabase (inMemoryDatabasePath);
419
+ await db.execute ('''
420
+ CREATE TABLE Product (
421
+ id INTEGER PRIMARY KEY,
422
+ title TEXT
423
+ )
424
+ ''' );
425
+ for (int i = 1 ; i <= 20 ; i++ ) {
426
+ await db.insert ('Product' , < String , Object ? > {'title' : 'Product $i ' });
427
+ }
428
+
429
+ await db.query ('Product' );
430
+
431
+ await db.delete ('Product' , where: 'title = ?' , whereArgs: ['Product 1' ]);
432
+
433
+ await db.close ();
434
+
435
+ await tr.finish (status: const SpanStatus .ok ());
436
+ }
396
437
}
397
438
398
439
extension BuildContextExtension on BuildContext {
0 commit comments