是否可以选择在 Isar 中使用相同类型的对象创建多个集合?
Isar 文档:https://isar.dev/
我如何创建单个集合:
import 'package:isar/isar.dart';
@Collection()
class ProgramModel {
@Id()
int? id;
String? title;
}
我想要第二个 ProgramModel 集合,但我无法将另一个 @Collection() 添加到同一模型。
尝试过并且可以在多个 isar 实例(db)中使用相同的集合类。
启动新的 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 实例来拥有多个表。
您可以使用相同对象模型的其他名称创建一个集合,或者在当前 isar 的范围之外创建此模型(使用新的 isar 数据库)
只需创建一个新文件并在那里实现 ProgramModel @collection 即可。