如何在Isar db中创建几个相同类型的集合?[Flutter] [Isar]

31moq8wy  于 2023-08-07  发布在  Flutter
关注(0)|答案(3)|浏览(143)

在Isar中,是否可以使用同一类型的对象创建多个集合?
Isar文档:https://isar.dev/
如何创建单个集合:

import 'package:isar/isar.dart';

@Collection()
class ProgramModel {
  @Id()
  int? id;
  String? title;
}

字符串
我想有第二个集合的ProgramModel,但我不能添加另一个@Collection()到同一个模型。

5t7ly7z5

5t7ly7z51#

已尝试并可以在多个ISAR示例(dbs)中使用相同的集合类。
要启动新的isar示例,请执行以下操作:

Isar isarOne = await Isar.open(
  name: 'dbOne',
  schemas: [ContacSchema],
);

Isar isarTwo = await Isar.open(
  name: 'dbTwo',
  schemas: [ContacSchema],
);

字符串
在Web中,它在IndexedDB中创建了2个DB。在本机上,它也将创建2个isar示例。
想要一种方法来使用相同的集合类在单个isar示例中创建多个集合,但似乎无法做到。因此将继续使用多个ISAR示例以具有多个表。

ghhkc1vu

ghhkc1vu2#

或者你可以创建一个具有相同对象模型的其他名称的集合,或者在当前ISAR的范围之外创建这个模型(使用新的ISAR数据库)

k5hmc34c

k5hmc34c3#

只需创建一个新文件并在那里实现ProgramModel @集合。

相关问题