Skip to content

Commit 5205ada

Browse files
committed
Support for autoincrementing keys
1 parent d432ab2 commit 5205ada

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

Modules/Sources/Storage/GRDB/Model/PersistedProductAttribute.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Foundation
22
import GRDB
33

44
public struct PersistedProductAttribute: Codable {
5-
public let id: Int64?
5+
public private(set) var id: Int64?
66
public let productID: Int64
77
public let name: String
88
public let position: Int64
@@ -27,7 +27,7 @@ public struct PersistedProductAttribute: Codable {
2727
}
2828
}
2929

30-
extension PersistedProductAttribute: FetchableRecord, PersistableRecord {
30+
extension PersistedProductAttribute: FetchableRecord, MutablePersistableRecord {
3131
public static var databaseTableName: String { "productAttribute" }
3232

3333
public enum Columns {
@@ -39,6 +39,10 @@ extension PersistedProductAttribute: FetchableRecord, PersistableRecord {
3939
static let variation = Column(CodingKeys.variation)
4040
static let options = Column(CodingKeys.options)
4141
}
42+
43+
public mutating func didInsert(_ inserted: InsertionSuccess) {
44+
id = inserted.rowID
45+
}
4246
}
4347

4448

Modules/Sources/Storage/GRDB/Model/PersistedProductVariationAttribute.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Foundation
22
import GRDB
33

44
public struct PersistedProductVariationAttribute: Codable {
5-
public let id: Int64?
5+
public private(set) var id: Int64?
66
public let productVariationID: Int64
77
public let name: String
88
public let option: String
@@ -18,7 +18,7 @@ public struct PersistedProductVariationAttribute: Codable {
1818
}
1919
}
2020

21-
extension PersistedProductVariationAttribute: FetchableRecord, PersistableRecord {
21+
extension PersistedProductVariationAttribute: FetchableRecord, MutablePersistableRecord {
2222
public static var databaseTableName: String { "productVariationAttribute" }
2323

2424
public enum Columns {
@@ -27,6 +27,10 @@ extension PersistedProductVariationAttribute: FetchableRecord, PersistableRecord
2727
static let name = Column(CodingKeys.name)
2828
static let option = Column(CodingKeys.option)
2929
}
30+
31+
public mutating func didInsert(_ inserted: InsertionSuccess) {
32+
id = inserted.rowID
33+
}
3034
}
3135

3236

0 commit comments

Comments
 (0)