Tens que verificar a versão pelo oldVersion e newVersion e rodar os comandos necessários só destas versões.
Pelo seu exemplo, o onUpdate você esta dando um dropTable, é claro que com isto sua tabela será apagada, juntamente com todos os dados sempre que atualizar a versão.
2015-03-02 16:45 GMT-03:00 Márcio Fornari <marciofornari@gmail.com>:
Faz tempo que não trabalho com ormLite, mas no caso vc teria que verificar a versão do seu banco e fazer por exemplo assim:if (oldVersion < 2) { // we added the age column in version 2 dao.executeRaw("ALTER TABLE `account` ADD COLUMN age INTEGER;"); } if (oldVersion < 3) { // we added the weight column in version 3 dao.executeRaw("ALTER TABLE `account` ADD COLUMN weight INTEGER;"); }Em 2 de março de 2015 16:34, Ricardo Cardoso <rick.duk@gmail.com> escreveu:Toda vez que gero uma versão nova da base de dados, meu banco de dados mobile é completamente apagado...--Tipo, se eu alterei apenas alguns campos na tabela preciso criar uma nova versão do banco de dados, quando faço isso ele apaga e cria de novo, creio que não entendi muito bem como funciona o metodo onUpgrade(). Meu databaseHelper está assim:public class DataBaseHelper extends OrmLiteSqliteOpenHelper{private static final String DATABASE_NAME = "database.db";private static final int DATABASE_VERSION = 13;private Dao<Tabela01, Long> tabela01Dao = null;private Dao<Tabela02, Long> tabela02Dao = null;public DataBaseHelper(Context context){super(context, DATABASE_NAME, null, DATABASE_VERSION, R.raw.ormlite_config);}@Overridepublic void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {try {TableUtils.createTable(connectionSource, Tabela01.class);TableUtils.createTable(connectionSource, Tabela02.class);} catch (SQLException e) {e.printStackTrace();}}@Overridepublic void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int oldVersion, int newVersion) {try {TableUtils.dropTable(connectionSource, Tabela01.class, true);TableUtils.dropTable(connectionSource, Tabela02.class, true);onCreate(sqLiteDatabase, connectionSource);} catch (SQLException e) {e.printStackTrace();}}Se mudo alguma coisa na tabela02 preciso que só atualize ela, sem perder os dados.... tem jeito?
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--............
Márcio Fornari
..........................................................................--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.






0 comentários:
Postar um comentário