I tested define @Attribute(.unique) multiple times and seems not a correct solution:
@Model final class Book {
@Attribute(.unique)
var title: String
@Attribute(.unique)
var author: String
}
I tried to insert books have some wried result:
container.mainContext.insert(BooK(title: "book 1", author: "author 1"))
try? container.mainContext.save()
// 1 book inserted
container.mainContext.insert(BooK(title: "book 1", author: "author 1"))
try? container.mainContext.save()
// 1 book inserted as expected
container.mainContext.insert(BooK(title: "book 2", author: "author 1"))
try? container.mainContext.save()
// "book 2" replace "book 1", and 1 book is left.