open method

Opens a direct connection to a SQLite database connection and executes setup pragma statements to initialize the DB

Implementation

@override
CommonDatabase open(SqliteOpenOptions options) {
  sqlite3_open.open
      .overrideFor(sqlite3_open.OperatingSystem.android, openCipherOnAndroid);

  var db = super.open(options);
  final versionRows = db.select('PRAGMA cipher_version');
  if (versionRows.isEmpty) {
    throw StateError(
        "SQLCipher was not initialized correctly. 'PRAGMA cipher_version' returned no rows.");
  }
  return db;
}