I dont understand why table in my database is not show in my flutter application. I have tried open the database using sqlite Browser, and it shows all my tables.
Code from my flutter apps :
Future<Database> initDb() async {
String baseDirectory = Constants.baseDirectory;
String dirNewDB = Constants.dirNewDB;
final path = Directory("$baseDirectory$dirNewDB");
ByteData data = await rootBundle.load(join("assets", "database.db"));
writeToFile(data, path.path + "/newdb.db");
String pathDatabase = path.path + "/newdb.db";
var todoDatabase = await openDatabase(
pathDatabase,
);
return todoDatabase;
}
and method for create a file
Future<void> writeToFile(ByteData data, String path) {
final buffer = data.buffer;
return File(path).writeAsBytes(
buffer.asUint8List(data.offsetInBytes, data.lengthInBytes),
flush: true);
}
When i run
void showTables() async {
Database db = await this.database;
print(await db.query("sqlite_master"));
}
it shows this : [{type: table, name: android_metadata, tbl_name: android_metadata, rootpage: 3, sql: CREATE TABLE android_metadata (locale TEXT)}]
There is no my tables are shown.
Please help my case, thank you.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…