Как создать еще одну таблицу в базе данных с SugarORM - PullRequest
0 голосов
/ 23 октября 2018

У меня есть приложение, и я использую библиотеку Sugar ORM v1.5 для создания базы данных.Я выпустил первую версию приложения, и теперь я хочу добавить еще одну таблицу в базу данных, я установил новую версию в предыдущей версии, но она дает сбой.Это ошибка, которую я получил.Как я могу решить это?Стоит ли увеличивать версию базы данных?

Заранее спасибо

android.database.sqlite.SQLiteException: no such table: CUSTOMER_SERVICE_REPORT (code 1): , while compiling: INSERT OR REPLACE  INTO CUSTOMER_SERVICE_REPORT(SERIAL_NUMBER,COSTUMER_NAME,DATE,DESCRIPTION,FACTOR,SERVICE_ID,ID,CHECK_LIST_NUMBER,REMINDER) VALUES (?,?,?,?,?,?,?,?,?)
    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:890)
    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:501)
    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
    at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1546)
    at com.orm.SugarRecord.save(SugarRecord.java:280)
    at com.orm.SugarRecord.save(SugarRecord.java:416)

1 Ответ

0 голосов
/ 26 октября 2018

Расширяя комментарий @Prasanth S, просто добавление новых таблиц требует только увеличения VERSION, поэтому Sugar ORM знает, что нужно искать новые таблицы.

Однако, если вы хотите внести другие изменения в данные, выВам нужно будет настроить скрипт миграции.Это можно сделать, добавив <version>.sql в /assets/sugar_upgrades/.Например, добавление 3.sql приведет к запуску этого файла при переходе на версию 3.

Файл SQL просто содержит список команд SQL для запуска в локальной базе данных SQLite.

Больше информации в официальной документации .

...