flutter_downloader
flutter_downloader copied to clipboard
no such column: save_in_public_storage (code 1 SQLITE_ERROR)
Thank you for the awsome library. I've been using it since version 1.6.1. Describe the bug When updating an Android app from version 1.6.1 to 1.11.7, an error occurs stating that the column cannot be found.
To Reproduce
java.util.concurrent.ExecutionException: android.database.sqlite.SQLiteException: no such column: save_in_public_storage (code 1 SQLITE_ERROR): , while compiling: SELECT _id, task_id, progress, status, url, file_name, saved_dir, headers, mime_type, resumable, open_file_from_notification, show_notification, time_created, save_in_public_storage, allow_cellular FROM task WHERE task_id = ? ORDER BY _id DESC LIMIT 1
at androidx.work.impl.utils.futures.a.i(SourceFile:21)
at androidx.work.impl.utils.futures.a.get(SourceFile:48)
at r0.k$b.run(SourceFile:5)
at z0.k$a.run(SourceFile:3)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: android.database.sqlite.SQLiteException: no such column: save_in_public_storage (code 1 SQLITE_ERROR): , while compiling: SELECT _id, task_id, progress, status, url, file_name, saved_dir, headers, mime_type, resumable, open_file_from_notification, show_notification, time_created, save_in_public_storage, allow_cellular FROM task WHERE task_id = ? ORDER BY _id DESC LIMIT 1
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.-$$Nest$smnativePrepareStatement(Unknown Source:0)
at android.database.sqlite.SQLiteConnection$PreparedStatementCache.createStatement(SQLiteConnection.java:1552)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatementLI(SQLiteConnection.java:1095)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1123)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:683)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:614)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:62)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:46)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1818)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1650)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1507)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1733)
at q7.i.d(SourceFile:28)
at vn.hunghd.flutterdownloader.DownloadWorker.r(SourceFile:205)
at androidx.work.Worker$a.run(SourceFile:3)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Steps to reproduce the behavior:
- use v1.6.1
- download something
- use v1.11.7
- download something
- can't start downloading
Expected behavior update v1.6.1 to v1.11.7, can download something.
- Device: Pixel7
- OS: Android 14
- plugin version v1.6.1 to v1.11.7
The migration of the database version missed a field. After supplementing this, the problem was solved.