Skip to content
Proyectos

yuweiguocn/GreenDaoUpgradeHelper

Ver en GitHub

yuweiguocn/GreenDaoUpgradeHelper has 1,525 GitHub stars and 291 forks. GitHot measured 0 stars in 24 hours and -2 in 7 days. Last checked 2026-11-11 18:30 UTC. Last push 2019-05-25.

Cómo se miden estas cifras

To solve database upgrade of greenDao and just need one line code

Crecimiento de estrellas medido

in 24h
0
in 7 days
-2
in 15 days
Recopilando historial
in 1 month
Recopilando historial

Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.

README.md

Original

GreenDaoUpgradeHelper(中文版)

Release Android Arsenal Download

GreenDaoUpgradeHelper is a database upgrade helper for greenDao.Use GreenDaoUpgradeHelper can easy solve database upgrade that's just need one line code.

The original code is from stackoverflow.

How to use

1.Add it in your root build.gradle at the end of repositories:

	allprojects {
		repositories {
			...
			maven { url "https://jitpack.io" }
		}
	}

2.Add the dependency(greendao 3.0 above)

	dependencies {
	        compile 'org.greenrobot:greendao:3.2.0'
	        compile 'io.github.yuweiguocn:GreenDaoUpgradeHelper:v2.2.1'
	}

or (greendao 3.0 below)

    dependencies {
            compile 'de.greenrobot:greendao:2.0.0'
	        compile 'com.github.yuweiguocn:GreenDaoUpgradeHelper:v1.0.1'
	}

3.Add a new class that extends DaoMaster.OpenHelper,add a constructor,implement onUpgrade method and called migrate method,arguments is all of generated Dao class:

MigrationHelper.migrate(db, new MigrationHelper.ReCreateAllTableListener() {
            @Override
            public void onCreateAllTables(Database db, boolean ifNotExists) {
                DaoMaster.createAllTables(db, ifNotExists);
            }
            @Override
            public void onDropAllTables(Database db, boolean ifExists) {
                DaoMaster.dropAllTables(db, ifExists);
            }
        },TestDataDao.class, TestData2Dao.class, TestData3Dao.class);

like this:

public class MySQLiteOpenHelper extends DaoMaster.OpenHelper {
    public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory) {
        super(context, name, factory);
    }
    @Override
    public void onUpgrade(Database db, int oldVersion, int newVersion) {
        MigrationHelper.migrate(db, new MigrationHelper.ReCreateAllTableListener() {
                    @Override
                    public void onCreateAllTables(Database db, boolean ifNotExists) {
                        DaoMaster.createAllTables(db, ifNotExists);
                    }
                    @Override
                    public void onDropAllTables(Database db, boolean ifExists) {
                        DaoMaster.dropAllTables(db, ifExists);
                    }
                },TestDataDao.class, TestData2Dao.class, TestData3Dao.class);
    }
}

4.Finally,init like this:

//MigrationHelper.DEBUG = true;  //if you want see the log info,default is false
MySQLiteOpenHelper helper = new MySQLiteOpenHelper(this, "test.db",
                null);
        daoMaster = new DaoMaster(helper.getWritableDatabase());

ProGuard rule

-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
    public static void dropTable(org.greenrobot.greendao.database.Database, boolean);
    public static void createTable(org.greenrobot.greendao.database.Database, boolean);
}

Thanks

greenDAO

Pedro Okawa

Contact me

weibo:@于卫国

gmail:[email protected]

blog:yuweiguo's blog

License

Copyright 2016 yuweiguocn

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Explorar proyectos relacionados