问题标签 [flutter-moor]
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.
flutter-moor - Flutter-moor ORM 中是否有枚举列?
我没有找到任何关于 Flutter ORM moor 中 Enum 列中内置可能性的文档。创建枚举列的最佳方法是什么?我要这个:
flutter - 如何与 moor 一起实施 Change Notifier?
我正在尝试制作一个具有数据库的应用程序,它有一个学生表
现在我尝试将更改通知器与myDatabase一起使用,但在这里我无法扩展它,所以我尝试这样做
但是学生类显示错误。现在我不知道如何进行。
flutter - 向颤动的沼泽查询添加不同的
我有以下颤动的沼泽查询
如何将distinct
条件添加到查询中?
更新:我想写的查询是:
garnishName
并且postGarnish
是我RecipeGarnishes
表中的列
更新 2:
根据答案,我尝试了这个。
但它给了我以下错误
Moor:发送 SELECT DISTINCT recipe_garnishes.garnish_name AS "recipe_garnishes.garnish_name" FROM recipe_garnishes WHERE recipe_garnishes.post_garnish = ?; 带参数 [1]
[错误:flutter/lib/ui/ui_dart_state.cc(166)] 未处理的异常:NoSuchMethodError:在 null 上调用了 getter 'garnishName'。
flutter - Flutter moor:缺少 libsqlite3.so
我正在用 Moor 编写一个简单的 Flutter 应用程序;libsqlite3.so
我已经创建了表、数据库和 dao,但是当我启动应用程序时,它会因找不到库的错误而崩溃。
这是我的数据库
这是我的错误
谢谢你的帮助。
flutter - Flutter、Moor 和 WorkManager
我正在开发一个颤振应用程序(当时仅适用于 Android,但计划稍后提供 iOS 支持)。该应用程序以两种方式运行:
- Flutter UI 与大部分业务逻辑(前台隔离,以 main 方法开始)(FG)
- 使用android WorkManager(使用Flutter Background Isolate)在后台执行的一些自动任务(BG)
- 两个隔离都使用数据库
由于我们需要以“线程安全”的方式使用数据库,因此我们尝试使用 Moor 数据库框架,通过 moor_ffi 接口与 SQLite 服务器通信。
Moor 声称通过产生第三个 Isolate (MoorIsolate) 来实现它的“线程安全”。此隔离是唯一与数据库对话的隔离。在 BG 和 FG 中执行的查询使用 SendPort/ReceivePort 发送到此隔离,执行并返回给调用者隔离。
但是,所有 Moor 示例都建议从 FG 分离物中生成 MoorIsolate。这引起了我对以下问题的关注。
如果 FG Isolate “死亡”,MoorIsolate 会发生什么
1.1 如果用户在导航器的最后一个屏幕上按返回按钮退出?
1.2 如果APP一段时间不可见,操作系统决定释放内存。
1.3 如果用户在设置中“强制杀死”应用程序(理想情况下,这应该是 MoorIsolate 死掉的唯一情况)
在 BG 隔离中,我们使用 IsolateNameServer 来构造 MoorIsolate。有什么方法可以检测 Isolate 是否仍在运行?
flutter - build-runner 的 Flutter-moor 生成器问题
每当我尝试运行时,flutter packages pub run build_runner watch
我都会在终端中收到此错误消息
这发生在我从 ^1.6.0 => ^ 3.0.0 更新 moor_flutter 插件之后 旧插件没有错误 这是我的代码
vs 代码在 Appdatabase 构造函数和 customselectstream 函数中给了我错误,但我在他们的 Github 存储库中搜索了示例,发现 Appdatabase 构造函数与我的相同。在我评论 watchusersbyname 后问题仍然存在,我也尝试从 Appdatabase 构造函数中的 super 中删除参数,但没有任何改变,所以你能告诉我有什么问题吗?提前致谢。
sqlite - 如何在主页中使用提供程序实例化 Moor_Flutter 数据库(daos)?
当实例化从 MyHomePage() 路由的 NotificationsPage 时会发生这种情况
这是我的代码:
这是错误日志:
错误:在此 NotificationsPage 小部件上方找不到正确的提供程序
这可能是因为您使用了BuildContext
不包括您选择的提供者的 a。有几种常见的场景:
您尝试读取的提供程序位于不同的路径中。
提供者是“范围的”。因此,如果您在路由中插入提供程序,那么其他路由将无法访问该提供程序。
您使用的
BuildContext
是您尝试读取的提供程序的祖先。确保 NotificationsPage 在您的 MultiProvider/Provider 下。这通常发生在您创建提供程序并尝试立即读取它时。
例如,而不是:
考虑
builder
像这样使用:
关于这个主页有什么问题的任何建议?在通知页面中,我正在访问它
flutter - 参数“id”是必需的。当 id 为自动增量时
当我尝试创建一个数据对象以保存在我的数据库中时,它给了我一个警告,说需要 id。但是,当添加到数据库时,应该由 moor 自动创建,因为它被标记为自动增量。我的表格代码是
忽略此警告是否安全?如果没有,我该怎么办?我创建数据对象的代码是
当用户输入倒计时名称时,我将填写名称字段。
flutter - flutter moor 在迁移后添加初始数据
迁移实体并添加列后,我想在表中为新添加的列插入已存在记录的值。我怎样才能做到这一点?
例如,在这种情况下,对于数据库中已经存在的记录,我希望 DueDate 列的值为 DateTime(2019,1,1)。