Open pravdomil opened 7 months ago
{ "identity" : "sqlite.swift", "kind" : "remoteSourceControl", "location" : "https://github.com/stephencelis/SQLite.swift", "state" : { "revision" : "e78ae0220e17525a15ac68c697a155eb7a672a8e", "version" : "0.15.0" } }
package.swift
// swift-tools-version: 5.10 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "MyExecutable", dependencies: [ .package(url: "https://github.com/stephencelis/SQLite.swift", .upToNextMajor(from: "0.15.0")), .package(url: "https://github.com/yaslab/ULID.swift", .upToNextMinor(from: "1.2.0")), ], targets: [ .executableTarget( name: "MyExecutable", dependencies: [ .product(name: "SQLite", package: "SQLite.swift"), .product(name: "ULID", package: "ULID.swift"), ] ), ] )
main.swift
import Foundation import SQLite import ULID extension ULID: Value { public static var declaredDatatype: String { String.declaredDatatype } public static func fromDatatypeValue(_ stringValue: String) -> ULID { ULID(ulidString: stringValue)! } public var datatypeValue: String { ulidString } } struct User: Codable { let id: ULID } let users = Table("users") let id = Expression<ULID>("id") try print(users.insert(User(id: ULID())))
gives me
INSERT INTO "users" ("id") VALUES ('"01HTTP6QD08BP47AJBEEEWXVJ9"')
https://github.com/stephencelis/SQLite.swift/blob/e78ae0220e17525a15ac68c697a155eb7a672a8e/Sources/SQLite/Typed/Coding.swift#L257-L270
Build Information
How to Reproduce
package.swift
main.swift
gives me