greendao 没有这样的 table

greendao no such table

我在 greendao 生成的代码中收到此错误 no such table: MEAL (code 1)。

在 class 我有

@Entity
public class Meal {}

并生成 class

public static final String TABLENAME = "MEAL";

我提到其他人 class/tables 正在工作,也是 greenDao 的新版本,其中不需要 daoMaster,它只使用注释。 我清理并重建,但没有成功。有任何想法吗?

谢谢你,祝你有美好的一天。

我通过调用这个解决了问题:MealDao.createTable(daoSession.getDatabase(), false);

如果您遇到这种情况,可能需要为您的数据库添加迁移。这是我的样本偏头痛:

  @Override
    public void onUpgrade(Database db, int oldVersion, int newVersion) {
        super.onUpgrade(db, oldVersion, newVersion);
        if (oldVersion < 2) {
            Log.d("DEBUG", "DB_OLD_VERSION : " + 1 + ", DB_NEW_VERSION : " + 2);
            UserDao.createTable(db, false);

        } else if (oldVersion < 3) {
            Log.d("DEBUG", "DB_OLD_VERSION : " + 2 + ", DB_NEW_VERSION : " + 3);

        } else if (oldVersion < 4) {
            Log.d("DEBUG", "DB_OLD_VERSION : " + 3 + ", DB_NEW_VERSION : " + 4);
            db.execSQL("ALTER TABLE " + UserDao.TABLENAME + " ADD COLUMN 'uuid' TEXT;");
        } else if (oldVersion < 5) {

        }
    }