问题标签 [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 中使用 fts5 模块?
我想在我的颤振应用程序中对本地数据库启用全文搜索。
我正在使用moor_flutter包与数据库进行交互,我看到它提供了一个扩展,可以使用 fts5 进行全文搜索。但是,我无法让它正常工作。
我总是得到以下异常:
no such module: fts5 (Sqlite code 1 SQLITE_ERROR), (OS error - 2:No such file or directory)
重现步骤
- 创建一个新的flutter项目并将以下依赖项添加到
pubspec.yaml
:moor_flutter: ^4.0.0
- 将以下 dev_dependencies 添加到
pubspec.yaml
:build_runner: ^2.1.1
moor_generator: ^4.5.1
- 创建一个
build.yaml
文件并添加以下内容(在docs中指定):
- 在
lib
文件夹中,创建一个tables.moor
包含以下内容的文件:
- 在文件夹中创建一个
database.dart
文件lib
:
- 在文件夹中创建一个
main.dart
文件lib
:
- 运行
flutter pub get
和flutter pub run build_runner build
- 运行应用程序,您现在应该会看到异常。
我是否缺少一些额外的配置或依赖项?
可能的解决方案
在写这个问题时,我看到这个答案说 fts5 模块可能不存在或默认启用。
我试图依赖sqlite3和sqlite3_flutter_libs(应该可以使用fts5 扩展名),但不知道如何通过 moor 连接到该数据库。
flutter - 在 moor 数据库中输入长日期时间或日期的类型转换 - 颤振
我从 Api 接收 long 值,我正在尝试创建类型转换器以将 long 值转换为数据时间或日期。我该怎么做?
flutter - 使用 moor 时如何停止多次创建类数据库文件?
我收到此错误:
颤振:警告(摩尔):看起来您已经多次创建了数据库类 AppDatabase。当这两个数据库使用相同的 QueryExecutor 时,会发生竞争条件并可能损坏数据库。
但我想有多个 Db 类的实例。有没有办法创建 Db 类的多个实例?
谢谢
database - Flutter:build_runner 构建命令无限期运行
我有一个旧的 Flutter 项目。在其中我有这个错误part 'Target of URI hasn't been generated: 'MoorDatabase.g.dart'.Try running the generator that will generate the file referenced by the URI.
。所以我使用了这个命令flutter pub run build_runner build
。但它向我显示了这个错误Bad state: Unexpected diagnostics: C:\flutter\bin\cache\dart-sdk\lib\internal\internal.dart:691:16 - This requires the 'non-nullable' language feature to be enabled.[SEVERE] floor_generator:floor_generator on test/bloc/report_bloc_test.dart:
。我该如何解决?
我已经做了什么:
- 我使用
flutter pub upgrade
了命令,它升级了一些依赖项。88 个包的新版本与依赖约束不兼容。我尝试手动更新所有依赖项,但其中大多数相互不兼容 - 尝试在 Android Studio 中同步项目并重新启动飞镖分析
- 清除缓存并重新下载依赖项
flutter - ReorderableListView 和 SQLite
我在 Drift/Moor(SQLite) 中列出了我最喜欢的书籍。该表包含 2 列: bookID & index 我使用 ReorderableListView.builder() 小部件来显示它们并可以对它们进行排序。如何正确更改数据库中执行的排序?
flutter - 如何使用 Drift 创建复合索引?
在 SQLite 中,您可以创建复合索引并使用该索引沿多个字段进行查询。Drift 允许你这样做吗?
flutter - 如何利用用户定义的 View 将数据通过 Flutter/drift(moor) 传递到应用程序中
除了数据库表定义之外,我还按照漂移文档中的示例声明了一些视图,并设法完成了生成过程。在那之后,我对抽象视图类的使用感到非常困惑,我既不能实例化它来进行查询,也不能将它合并到查询定义中(get 或 watch)。
这些 View 类有什么用以及如何从它们中进行查询?也许是这样的: