mirror of
https://github.com/JohnEstropia/CoreStore.git
synced 2026-01-15 05:33:31 +01:00
WIP: migrations demo
This commit is contained in:
@@ -2,4 +2,23 @@
|
||||
// Demo
|
||||
// Copyright © 2020 John Rommel Estropia, Inc. All rights reserved.
|
||||
|
||||
import CoreStore
|
||||
import Foundation
|
||||
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo
|
||||
|
||||
extension Advanced.EvolutionDemo {
|
||||
|
||||
typealias CreatureType = Advanced_EvolutionDemo_CreatureType
|
||||
}
|
||||
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo.CreatureType
|
||||
|
||||
protocol Advanced_EvolutionDemo_CreatureType: CoreStoreObject, CustomStringConvertible {
|
||||
|
||||
var dnaCode: Int64 { get }
|
||||
|
||||
func mutate()
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ extension Advanced.EvolutionDemo {
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo.CreatureV1
|
||||
|
||||
final class CreatureV1: CoreStoreObject {
|
||||
final class CreatureV1: CoreStoreObject, Advanced.EvolutionDemo.CreatureType {
|
||||
|
||||
// MARK: Internal
|
||||
|
||||
@@ -23,5 +23,8 @@ extension Advanced.EvolutionDemo {
|
||||
|
||||
@Field.Stored("hasTail")
|
||||
var hasTail: Bool = false
|
||||
|
||||
@Field.Stored("numberOfFlagella")
|
||||
var numberOfFlagella: Int32 = 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,30 @@
|
||||
//
|
||||
// Advanced.Evolution.CreatureV2.swift
|
||||
// Demo
|
||||
//
|
||||
// Created by John Rommel Estropia on 2020/09/06.
|
||||
//
|
||||
// Demo
|
||||
// Copyright © 2020 John Rommel Estropia, Inc. All rights reserved.
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
import CoreStore
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo
|
||||
|
||||
extension Advanced.EvolutionDemo {
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo.CreatureV2
|
||||
|
||||
final class CreatureV2: CoreStoreObject, Advanced.EvolutionDemo.CreatureType {
|
||||
|
||||
// MARK: Internal
|
||||
|
||||
@Field.Stored("dnaCode")
|
||||
var dnaCode: Int64 = 0
|
||||
|
||||
@Field.Stored("hasHead")
|
||||
var hasHead: Bool = false
|
||||
|
||||
@Field.Stored("hasTail")
|
||||
var hasTail: Bool = false
|
||||
|
||||
@Field.Stored("hasTail")
|
||||
var numberOfFlippers: Int32 = 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,30 @@
|
||||
//
|
||||
// Advanced.Evolution.CreatureV3.swift
|
||||
// Demo
|
||||
//
|
||||
// Created by John Rommel Estropia on 2020/09/06.
|
||||
//
|
||||
// Demo
|
||||
// Copyright © 2020 John Rommel Estropia, Inc. All rights reserved.
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
import CoreStore
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo
|
||||
|
||||
extension Advanced.EvolutionDemo {
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo.CreatureV3
|
||||
|
||||
final class CreatureV3: CoreStoreObject, Advanced.EvolutionDemo.CreatureType {
|
||||
|
||||
// MARK: Internal
|
||||
|
||||
@Field.Stored("dnaCode")
|
||||
var dnaCode: Int64 = 0
|
||||
|
||||
@Field.Stored("hasHead")
|
||||
var hasHead: Bool = false
|
||||
|
||||
@Field.Stored("hasTail")
|
||||
var hasTail: Bool = false
|
||||
|
||||
@Field.Stored("hasTail")
|
||||
var numberOfFlippers: Int32 = 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,30 @@
|
||||
//
|
||||
// Advanced.Evolution.CreatureV4.swift
|
||||
// Demo
|
||||
//
|
||||
// Created by John Rommel Estropia on 2020/09/06.
|
||||
//
|
||||
// Demo
|
||||
// Copyright © 2020 John Rommel Estropia, Inc. All rights reserved.
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
import CoreStore
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo
|
||||
|
||||
extension Advanced.EvolutionDemo {
|
||||
|
||||
// MARK: - Advanced.EvolutionDemo.CreatureV4
|
||||
|
||||
final class CreatureV4: CoreStoreObject, Advanced.EvolutionDemo.CreatureType {
|
||||
|
||||
// MARK: Internal
|
||||
|
||||
@Field.Stored("dnaCode")
|
||||
var dnaCode: Int64 = 0
|
||||
|
||||
@Field.Stored("hasHead")
|
||||
var hasHead: Bool = false
|
||||
|
||||
@Field.Stored("hasTail")
|
||||
var hasTail: Bool = false
|
||||
|
||||
@Field.Stored("hasTail")
|
||||
var numberOfFlippers: Int32 = 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,5 +19,16 @@ extension Advanced {
|
||||
case ageOfFishes
|
||||
case ageOfReptiles
|
||||
case ageOfMammals
|
||||
|
||||
var creatureType: Advanced.EvolutionDemo.CreatureType.Type {
|
||||
|
||||
switch self {
|
||||
|
||||
case .ageOfInvertebrates: return Advanced.EvolutionDemo.CreatureV1.self
|
||||
case .ageOfFishes: return Advanced.EvolutionDemo.CreatureV2.self
|
||||
case .ageOfReptiles: return Advanced.EvolutionDemo.CreatureV3.self
|
||||
case .ageOfMammals: return Advanced.EvolutionDemo.CreatureV4.self
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user