initialize method

Future<void> initialize()

Initialize the database

Implementation

Future<void> initialize() async {
  if (_database != null) return;

  final documentsDirectory = await getApplicationDocumentsDirectory();
  final path = join(documentsDirectory.path, 'trackiva.db');

  _database = await openDatabase(
    path,
    version: _dbVersion,
    onCreate: (db, version) async {
      await db.execute('''
        CREATE TABLE $_tableName (
          id INTEGER PRIMARY KEY AUTOINCREMENT,
          latitude REAL NOT NULL,
          longitude REAL NOT NULL,
          accuracy REAL NOT NULL,
          altitude REAL NOT NULL,
          speed REAL NOT NULL,
          bearing REAL NOT NULL,
          timestamp INTEGER NOT NULL,
          is_background INTEGER NOT NULL,
          provider TEXT,
          metadata TEXT NOT NULL,
          synced INTEGER NOT NULL DEFAULT 0,
          created_at INTEGER NOT NULL
        )
      ''');
    },
  );
}