ensureSchema method
Implementation
Future<void> ensureSchema() async {
await dvEnsureFrameworkTable(
database,
'CREATE TABLE IF NOT EXISTS $outboxTable (seq BIGINT, sink TEXT, '
'event_id TEXT, category TEXT, user_id TEXT, anonymous_id TEXT, '
'record TEXT)',
);
await database.execute(identityTableSql);
final DVAnalyticsSink s = store;
if (s is DVAnalyticsDatabaseStore) await s.ensureSchema();
final List<Map<String, Object?>> last = await database
.query('SELECT seq FROM $outboxTable ORDER BY seq DESC LIMIT 1');
if (last.isNotEmpty) {
final Object? seq = last.first['seq'];
_seq = seq is int ? seq : int.parse('$seq');
}
final List<Map<String, Object?>> id = await database.query(
'SELECT value FROM $identityTable WHERE id = ?',
<Object?>['anonymous']);
if (id.isEmpty) {
await _persistAnonymousId();
} else {
_anonymousId = '${id.first['value']}';
}
}