问题标签 [dbflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 使用 DBFlow 加载对象
我正在尝试在 Android 上使用 db-flow 加载一个完整的对象,但它不能正常工作。
文档说:
出于效率原因,我们建议指定
@ForeignKey(stubbedRelationship = true)
. 这样做只是将主键引用预设到表对象中。不会设置所有其他字段。如果您需要访问完整的对象,则必须为 Model 调用 load(),或者使用 ModelAdapter 从 DB 中加载对象。
和:
此外,如果您不指定
@Database(foreignKeyConstraintsEnforced=true)
,调用 load() 可能没有任何效果。基本上没有@ForeignKey
在 SQLite 级别强制执行,您最终可能会得到引用表中不存在的浮动键引用。
应用数据库:
数据实体:
道功能:
检索功能:
这是问题所在。当我加载 Checklist 对象时,未加载 Checklist 上引用的模块属性。
android - java.lang.IllegalStateException:全局数据库持有者未初始化。确保在访问数据库之前调用 FlowManager.init()?
如何解决此问题昨天的应用程序正在运行,今天我运行相同的代码,在启动屏幕活动时出现运行时错误。
android - Retrofit2 和 DBFlow 读取保存和实体详细信息
我正在使用 retrofit2 对某些资源进行网络请求。预期的相应响应是这样的:
这是我的应用程序的登录端点,随后我将 DBFLow 添加为 ORM 数据库。我为 DBFlow 和 retrofit2 使用相同的模型类,如下所示:
教练班是主要反应:
和教练详细信息,这是要保存的对象
在我的活动中,我尝试像下面的代码一样在网络调用后保存,还尝试测试从数据库中读取但在日志中获取空值。我的保存是否正确或我的读取查询错误?示例代码:
有人可以指出哪里出错了吗?
java - DBFlow SQLite.delete() 抛出 java.lang.IllegalArgumentException:请使用 query()
我的项目之一是我有用于 SQLite 的 DBFlow 库。
当我试图从表中删除一些数据时会出现问题。
此代码抛出异常:
任何人都知道如何解决它?
android - 使用 sqlCipher 时,DBflow 不适用于现有数据库
我已经成功使用Dbflow有一段时间了。在过去的一个月里,我的应用程序运行良好,其中一个 sqlCipher 数据库在其表中加载时没有现有值,而第二个数据库是一个普通的 sqlite 表,在其几个表中加载了现有行。使用这个普通的 sqlite 数据库,我可以通过查看设备文件资源管理器中的数据库大小以及查询代码中的值来立即识别这些条目是否位于它们应该位于的表中。
我的问题是我需要将那些现有的表从普通的 sqlite 数据库移动到 sqlCipher 数据库。这是 sqlcipher 数据库停止按我预期的方式工作的时候。现在加载数据库后,没有这些条目的迹象。就好像 sqlCipher 数据库(和表)是基于 ORM 从头开始创建的,而不是实际使用提供的现有 sqlCipher 数据库。
以下是我设置正常运行的普通 sqlite 数据库和不工作的 sqlCipher 数据库的方法:
正在运行的普通 sqlite 数据库的配置:
现有数据库文件的名称为“normalDb.db”,位于资产文件夹中
初始化代码:
数据库声明:
似乎没有加载现有表的 SqlCipher 数据库的配置:
现有数据库文件的名称为“encryptedDb.db”,位于资产文件夹中
初始化代码:
数据库声明:
SqlCipher 助手:
另请注意,加密数据库的上述代码确实编译并运行,我可以通过查看 Android 文件资源管理器看到它是在设备上创建的。我还可以添加新条目然后查询它们,这些条目也将在运行中持续存在,直到我删除设备上的数据库文件(又名按预期运行)。缺少的只是我指定为现有数据库的 .db 文件中的初始行。
java - 当我仅在表中添加一些数据而不重命名或添加列时如何更新 dbflow 数据库
我正在使用 DBFLOW 库,我有预打包的数据库。现在我想在两个表中向我的数据库中添加新数据,当我增加版本数据库并更新我的应用程序时,仍然显示旧版本的数据库。我想我应该使用 Migration,但是当我只是更改一些数据而不重命名或添加列时,我不知道如何使用它。
for-loop - How to select two table columns in the same for loop
Im trying to get two variables from the same table in a for loop, so far the first one works but when i try to do the second one it gives me me an error, i dont understand why its wrong?
The uncommented code works just fine, but the commented code gives me errores, they are the same except for the column im selecting from.
this is the current output
i would like the same but with the edDate, both at the same time
string - DBFlow 丢失了 String 类型的数据
DBFlow 版本:4.2.4
错误或功能请求:丢失长字符串数据
描述:我有一个很长的json字符串,我插入bean没有任何错误,但是我从数据库中读取它,值为null。我的字符串如下: https ://github.com/agrosner/DBFlow/issues/1695
我的代码是:
PlotCanvasBean plotCanvasBean = new PlotCanvasBean(plotWithGeo);
并将列声明为字符串 在此处输入图像描述
截图如下: bean 插入数据库
从数据库中读取的 bean
android - UndeliverableException:android.database.sqlite.SQLiteReadOnlyDatabaseException:尝试写入只读数据库
我正在使用带有 SQLCipher 的 DBFlow。我正在尝试在 Android 中使用 SQLCipher 加密已经存在的 SQLite 数据库(使用 DBFlow)。
我使用以下代码加密数据库:
数据库加密得很好,但是当我尝试编写任何操作时:
数据库型号:
然后得到以下异常:
io.reactivex.exceptions.UndeliverableException:android.database.sqlite.SQLiteReadOnlyDatabaseException:尝试写入只读数据库(代码 1032 SQLITE_READONLY_DBMOVED[1032])
我在这里找到了类似的帖子,但没有找到任何解决方案。
另外,我发现这是用 SQLCipher 加密 DBFlow 数据库并实现它。然后,如果我将它作为新应用程序安装它就可以工作,但是当我将此应用程序安装在没有加密数据库的旧应用程序之上时,它就会失败。
net.sqlcipher.database.SQLiteException: file is not a database: ,编译时:select count(*) from sqlite_master;
请建议我该如何解决这个问题?