@@ -17,6 +17,7 @@ import 'dart:io';
1717import 'package:flutter/material.dart' ;
1818import 'package:random_color/random_color.dart' ;
1919import 'package:sqflite/sqflite.dart' ;
20+ import 'package:sqflite_common/sqflite_logger.dart' ;
2021import 'package:timecop/data_providers/data/data_provider.dart' ;
2122import 'package:timecop/models/timer_entry.dart' ;
2223import 'package:timecop/models/project.dart' ;
@@ -26,7 +27,7 @@ import 'package:xdg_directories/xdg_directories.dart';
2627class DatabaseProvider extends DataProvider {
2728 final Database _db;
2829 final RandomColor _randomColour = RandomColor ();
29- static const int _dbVersion = 4 ;
30+ static const int _dbVersion = 5 ;
3031
3132 DatabaseProvider (this ._db);
3233
@@ -118,15 +119,25 @@ class DatabaseProvider extends DataProvider {
118119 b.execute ("drop table projects_tmp" );
119120 await b.commit (noResult: true );
120121 }
122+ if (version < 5 ) {
123+ Batch b = db.batch ();
124+ b.execute ('alter table projects add syncUUID text;' );
125+ b.execute ('alter table projects add lastUpdatedMsEpoch int;' );
126+ await b.commit (noResult: true );
127+ }
121128 }
122129
123130 static Future <DatabaseProvider > open (String path) async {
131+ var factoryWithLogs = SqfliteDatabaseFactoryLogger (databaseFactory,
132+ options:
133+ SqfliteLoggerOptions (type: SqfliteDatabaseFactoryLoggerType .all));
124134 // open the database
125- Database db = await openDatabase (path,
126- onConfigure: _onConfigure,
127- onCreate: _onCreate,
128- onUpgrade: _onUpgrade,
129- version: _dbVersion);
135+ Database db = await factoryWithLogs.openDatabase (path,
136+ options: OpenDatabaseOptions (
137+ onConfigure: _onConfigure,
138+ onCreate: _onCreate,
139+ onUpgrade: _onUpgrade,
140+ version: _dbVersion));
130141 await db.execute ("PRAGMA foreign_keys = ON" );
131142 DatabaseProvider repo = DatabaseProvider (db);
132143
@@ -150,7 +161,7 @@ class DatabaseProvider extends DataProvider {
150161 @override
151162 Future <List <Project >> listProjects () async {
152163 List <Map <String , dynamic >> rawProjects = await _db.rawQuery ('''
153- select id, name, colour,
164+ select id, name, colour,
154165 case archived
155166 when 'false' then 0
156167 when 'true' then 1
0 commit comments