首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振沼泽地:添加moor文件以编制索引时出错

颤振沼泽地:添加moor文件以编制索引时出错
EN

Stack Overflow用户
提问于 2021-03-06 15:15:48
回答 1查看 527关注 0票数 1

我正试图在我的申请中使用颤振沼泽地。因此,在创建一个列之后:

代码语言:javascript
复制
import 'package:moor_flutter/moor_flutter.dart';

@DataClassName("LocationTable")
class LocationTables extends Table {
  TextColumn get locationUuid => text()();
  RealColumn get latitude => real()();

现在我想把locationUuid作为索引。因此,根据它的官方网站,我创建了一个moor文件来添加索引:

代码语言:javascript
复制
CREATE INDEX location_uuid_index ON LocationTables (locationUuid);

之后,我在db calss中添加了这个文件:

代码语言:javascript
复制
@UseMoor(include: {
  'index.moor'
}, tables: [
  UserTables,
  LocationTables,
], daos: [
  UserDao,

])
class Database extends _$Database {

但是在运行构建跑步之后:

代码语言:javascript
复制
pub run build_runner build --delete-conflicting-outputs

我发现了一个错误:

代码语言:javascript
复制
[WARNING] moor_generator:moor_generator on lib/database/database.dart:
line 3, column 37: Target table LocationTables could not be found.
  ╷
3 │ CREATE INDEX location_uuid_index ON LocationTables (locationUuid);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-06 15:34:50

我找到了解决办法。我用答案来帮助某人:

在moor文件中,我必须这样写表名:

代码语言:javascript
复制
CREATE INDEX location_uuid_index ON location_tables (location_uuid);

在那之后,建造跑步者获得了成功。

这是在database.g.dart中添加的:

代码语言:javascript
复制
abstract class _$Database extends GeneratedDatabase {
  _$Database(QueryExecutor e) : super(SqlTypeSystem.defaultInstance, e);
  $LocationTablesTable _locationTables;
  $LocationTablesTable get locationTables =>
      _locationTables ??= $LocationTablesTable(this);
  Index _locationUuidIndex;
  Index get locationUuidIndex => _locationUuidIndex ??= Index(
      'location_uuid_index',
      'CREATE INDEX location_uuid_index ON location_tables (locationUuid);');

注意:

  • location_tables
  • location_uuid
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66507228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档