title: sqflite broke on Android after adding a new table Flutter
body: <p>I just added a new "Translations" table to the database init and wrote all the crud methods. Commands <code>db.query</code> and <code>db.insert</code> work just fine, but as tried inside <code>updateVersion()</code> either <code>db.delete</code> or <code>db.update</code> throw the missing plugin error : 
  <code>ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method update on channel com.tekartik.sqflite)</code>.</p>
  
  <p>After a while I realised that also older two tables are now throwing the same error on delete and update command. Looks like adding a new table broke it all.. I tried flutter clean but nothing changed, so I uninstalled and reinstalled the app, but I still get same errors. I then commented out new table and reinstalled the app but still get the errors..I also tried invalidating the cache a restart but still the same..
  On iPhone dough it does not throw any error..</p>
  
  <p>In iOS CoreData kinda behaves the same when you change something.. but with a fresh app install it all resets.. here it seems that the db is still written on disk..
  How do I make sure I erased it? I tried <code>await deleteDatabase(path);</code>.</p>
  
  <p>Any Idea of what's going on?
  As always thank you very much for your time and help.
  This is the db:</p>
  
  <pre><code>
  class DBProvider {
    //1.Create a private constructor that can be used only inside the class :
    DBProvider._();
    static final DBProvider db = DBProvider._();
  
    //2.Setup the database
    //Next we will create the database object and provide it with a getter
    //where we will instantiate the database if it’s not (lazy initialization).
  
    static Database _database;
  
    Future&lt;Database&gt; get database async {
      if (_database != null) return _database;
  //    await Sqflite.devSetDebugModeOn(true);
      // if _database is null we instantiate it
      _database = await initDB();
      return _database;
    }
    // If there is no object assigned to the database,
    // we use the initDB function to create the database.
    // In this function, we will get the path for storing the database
    // and create the desired tables:
  
    initDB() async {
      Directory documentsDirectory = await getApplicationDocumentsDirectory();
      String path = join(documentsDirectory.path, "Fixit.db");
      //TODO: tried deleting
  //    await deleteDatabase(path); // still errors
      return await openDatabase(path, version: 1, onOpen: (db) {},
          onCreate: (Database db, int version) async {
        await db.execute("CREATE TABLE Route("
            "routeId TEXT,"
            "routeName TEXT,"
            "routeDistance TEXT,"
            "routeDuration TEXT,"
            "coordinates TEXT"
            ")");
        await db.execute("CREATE TABLE Alarm("
            "alarmId TEXT,"
            "alarmName TEXT,"
            "enabled BOOL,"
            "repeatWeekdays TEXT,"
            "time TEXT,"
            "sound TEXT,"
            "routeName TEXT"
            ")");
  //      await db.execute("CREATE TABLE Translations("
  //          "version TEXT"
  //          ")");
      });
    }
  
  }
  </code></pre>
  
  <p>and these are the CRUD methods:</p>
  
  <pre><code>class DefaultsDbRepository {
    var database = DBProvider.db.database;
  
    Future&lt;int&gt; checkVersion() async {
      final db = await database;
      try {
        var res = await db.query('Translations');
        assert(res != null);
        int version = res != null ? int.parse(res.first['version']) : 0;
  
        print('checkVersion() db version is: $version');
        return version;
      } catch (err) {
        print(err);
      }
    }
  
    saveVersion({int version}) async {
      print('saveVersion() version to save is : $version');
  
      assert(version != null);
      final db = await database;
      try {
        Map&lt;String, dynamic&gt; map = {'version': version};
        db.insert("Translations", map);
      } catch (e) {
        print(e);
      }
    }
  
    updateVersion({int newVersion, int oldVersion}) async {
      print('updateVersion() version to save is : $newVersion');
      assert(newVersion != null);
  
      final db = await database;
      db.delete("Translations");
      try {
  //      Map&lt;String, dynamic&gt; map = {'version': newVersion};
  //
  //      db.insert("Translations", map);
  //      db.update("Translations", map); // [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method update on channel com.tekartik.sqflite)
  //      db.update("Translations", map,
  //          where: "version = ?", whereArgs: [oldVersion]);
      } catch (e) {
        print(e);
      }
    }
  }
  </code></pre>