我正试图在我的申请中使用颤振沼泽地。因此,在创建一个列之后:
import 'package:moor_flutter/moor_flutter.dart';
@DataClassName("LocationTable")
class LocationTables extends Table {
TextColumn get locationUuid => text()();
RealColumn get latitude => real()();现在我想把locationUuid作为索引。因此,根据它的官方网站,我创建了一个moor文件来添加索引:
CREATE INDEX location_uuid_index ON LocationTables (locationUuid);之后,我在db calss中添加了这个文件:
@UseMoor(include: {
'index.moor'
}, tables: [
UserTables,
LocationTables,
], daos: [
UserDao,
])
class Database extends _$Database {但是在运行构建跑步之后:
pub run build_runner build --delete-conflicting-outputs我发现了一个错误:
[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);发布于 2021-03-06 15:34:50
我找到了解决办法。我用答案来帮助某人:
在moor文件中,我必须这样写表名:
CREATE INDEX location_uuid_index ON location_tables (location_uuid);在那之后,建造跑步者获得了成功。
这是在database.g.dart中添加的:
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);');注意:
https://stackoverflow.com/questions/66507228
复制相似问题