Nai*_*j29 6 dart flutter flutter-moor
当我尝试创建一个数据对象以保存在数据库中时,它向我发出警告,指出需要 ID。然而,当添加到数据库时,它应该由 moor 自动创建,因为它被标记为自动增量。我的表代码是
class Countdowns extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get name => text().withLength(min: 1, max: 100)();
DateTimeColumn get date => dateTime()();
}
Run Code Online (Sandbox Code Playgroud)
忽略此警告是否安全?如果不是,我该怎么办?我创建数据对象的代码是
countdown = Countdown(date: initialDate);
Run Code Online (Sandbox Code Playgroud)
当用户输入倒计时名称时,我将填写名称字段。
根据 Moor 文档 - 具有默认值的列(通过 autoIncrement 或使用默认值)仍然在生成的数据类中标记为 @required。这是因为它们旨在代表一整行,并且每一行都将具有这些值。表示部分行(例如插入或更新)时使用同伴。
因此您可以使用 Companions 来插入/更新数据。同伴也是自动生成的,您可以使用 TableNameCompanion.insert() 构造函数来插入数据。
您可以在官方沼泽文档上阅读更多内容。https://moor.simonbinder.eu/docs/getting-started/advanced_dart_tables/
Moor github 上还有一个官方问题,作者解释了@required
自动增量的原因。https://github.com/simolus3/moor/issues/548
归档时间: |
|
查看次数: |
5441 次 |
最近记录: |