Не могу увидеть столбцы После Android DBFLOW миграции

Я сделал миграцию DbFlow для своей базы данных SQLite. Я добавил два столбца, и сборка прошла успешно. Проблема в том, что я не вижу эти столбцы в таблице пользователя и не могу вставить или прочитать данные из них. В чем может быть проблема?

Мой код миграции.

package com.omnitech.elunda.mobile.database;

import com.raizlabs.android.dbflow.annotation.Database;
import com.raizlabs.android.dbflow.annotation.Migration;
import com.raizlabs.android.dbflow.sql.SQLiteType;
import com.raizlabs.android.dbflow.sql.migration.AlterTableMigration;

/**
 * Created by magicwand on 9/28/2017.
 * Database class to manage datastore
 */

@Database(name=ELundaDatabase.name , version=ELundaDatabase.VERSION)
public class ELundaDatabase {

    public static final String name ="ElundaDatabase";
    public static final int VERSION =1;

    @Migration(version = ELundaDatabase.VERSION +1, database=ELundaDatabase.class)
    public static class Migration1 extends AlterTableMigration<User> {


        public Migration1(Class<User> table) {
            super(table);
        }

        @Override
        public void onPreMigrate() {
            super.onPreMigrate();
            addColumn(SQLiteType.TEXT, "phoneNumber");
            addColumn(SQLiteType.TEXT, "password");
        }
    }



}

1 ответ

Обновите версию БД до версии, которую можно изменить. Используйте то же имя в модели, а также используйте аннотацию имени столбца

public static final String name ="ElundaDatabase";
public static final int VERSION = 2;


@Migration(version = 2, database=ELundaDatabase.class)
public static class Migration1 extends AlterTableMigration<User> {


    public Migration1(Class<User> table) {
        super(table);
    }

    @Override
    public void onPreMigrate() {
        super.onPreMigrate();
        addColumn(SQLiteType.TEXT, "phoneNumber");
        addColumn(SQLiteType.TEXT, "password");
    }
}

/// Модель например

@Column(name = "time_sent")
long timeSent;
Другие вопросы по тегам