如何使用greendao或ORMLite在数据库中动态创建表?

问题描述 投票:0回答:2

如何使用greendao或ORMLite在数据库中动态创建表?我想在用户按下按钮时在数据库中创建新表,对于数据库中的每个新表,数据模型是相同的但我需要具有不同名称的表。那可能吗 ?

android sqlite ormlite greendao
2个回答
1
投票

关于greendao:

动态创建新表是不可能的。使用greendao,J2SE-Application(使用daogenerator)在开发站上创建用于处理数据库的代码。

关于Ormlite:

到目前为止我还没有使用过Ormlite,但我认为在运行时生成新表是可能的。

结论:

恕我直言,数据库设计,你必须在运行时创建新表是不好的做法,因为你将无法从ORM框架中受益。像这样的设计也很难维护(如果不是不可能的话)和/或测试。最重要的是,对于其他开发人员而言,这样的设计可能难以理解,因为它实际上并不常见。因此,您应该重新设计数据库架构。


0
投票

您可以使用SQLite

public void createUserTable(DatabaseOperations d, String user) {
    final SQLiteDatabase db = getWritableDatabase();
    String CREATE_TABLE_NEW_USER = "CREATE TABLE " + user + " (" + UserInfo.NOTES + " TEXT)";
    db.execSQL(CREATE_TABLE_NEW_USER);
    db.close();
}
© www.soinside.com 2019 - 2024. All rights reserved.