Skip to content

Commit 1a73c2a

Browse files
Handle id migration correctly
1 parent f962452 commit 1a73c2a

File tree

5 files changed

+30
-4
lines changed

5 files changed

+30
-4
lines changed

extra/Lamdera/Evergreen/MigrationGenerator.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ migrateUnionDefinition_ author pkg oldUnion newUnion tvarMapOld tvarMapNew oldVe
217217

218218
tvarPairs :: [(Can.Type, Can.Type)]
219219
tvarPairs =
220-
zip (loadTvars tvarsOld tvarMapOld) (loadTvars tvarsNew tvarMapNew)
220+
zip (loadTvars (fmap fst paramMigrationPairs) tvarMapOld) (loadTvars (fmap snd paramMigrationPairs) tvarMapNew)
221221

222222
tvarMigrations :: [Migration]
223223
tvarMigrations = migrateTvars oldVersion newVersion scope interfaces recursionSet tvarMapOld tvarMapNew tvarPairs

test/scenario-migration-generate/src/Migrate_All/Actual.elm

+2-2
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ migrate_Migrate_All_New_CustomType old =
198198
Migrate_All.New.CustomTwo
199199

200200

201-
migrate_Migrate_All_New_Id : (a_old -> a_new) -> Migrate_All.Old.Id a_old -> Migrate_All.New.Id a_new
202-
migrate_Migrate_All_New_Id migrate_a old =
201+
migrate_Migrate_All_New_Id : Migrate_All.Old.Id a_old -> Migrate_All.New.Id a_new
202+
migrate_Migrate_All_New_Id old =
203203
case old of
204204
Migrate_All.Old.Id p0 ->
205205
Migrate_All.New.Id p0

test/scenario-migration-generate/src/Migrate_External_Paramed/Actual.elm

+9-1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ migrate_Migrate_External_Paramed_New_AnalyticsModel old =
4949
{ position = rec.position |> migrate_Migrate_External_Paramed_New_Point2d identity identity
5050
}
5151
)
52+
, userId = old.userId |> migrate_Migrate_External_Paramed_New_Id
5253
}
5354

5455

@@ -77,6 +78,13 @@ migrate_Migrate_External_Paramed_New_Debounce migrate_a old =
7778
}
7879

7980

81+
migrate_Migrate_External_Paramed_New_Id : Migrate_External_Paramed.Old.Id a_old -> Migrate_External_Paramed.New.Id a_new
82+
migrate_Migrate_External_Paramed_New_Id old =
83+
case old of
84+
Migrate_External_Paramed.Old.Id p0 ->
85+
Migrate_External_Paramed.New.Id p0
86+
87+
8088
migrate_Migrate_External_Paramed_New_IdDict : (k_old -> k_new) -> (v_old -> v_new) -> Migrate_External_Paramed.Old.IdDict k_old v_old -> Migrate_External_Paramed.New.IdDict k_new v_new
8189
migrate_Migrate_External_Paramed_New_IdDict migrate_k migrate_v old =
8290
case old of
@@ -103,7 +111,7 @@ migrate_Migrate_External_Paramed_New_NColor old =
103111

104112
migrate_Migrate_External_Paramed_New_Point2d : (units_old -> units_new) -> (coordinates_old -> coordinates_new) -> Migrate_External_Paramed.Old.Point2d units_old coordinates_old -> Migrate_External_Paramed.New.Point2d units_new coordinates_new
105113
migrate_Migrate_External_Paramed_New_Point2d migrate_units migrate_coordinates old =
106-
old |> migrate_Migrate_External_Paramed_New_Point2d_ migrate_units migrate_coordinates
114+
old |> migrate_Migrate_External_Paramed_New_Point2d_
107115

108116

109117
migrate_Migrate_External_Paramed_New_Point2d_ : Migrate_External_Paramed.Old.Point2d_ units_old coordinates_old -> Migrate_External_Paramed.New.Point2d_ units_new coordinates_new

test/scenario-migration-generate/src/Migrate_External_Paramed/New.elm

+9
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ type alias AnalyticsModel =
2222
String
2323
{ position : Point2d String String
2424
}
25+
, userId : Id UserId
2526
}
2627

2728

@@ -75,3 +76,11 @@ type Debounce a
7576
{ input : List a
7677
, locked : Bool
7778
}
79+
80+
81+
type Id a =
82+
Id String
83+
84+
85+
type UserId =
86+
UserId

test/scenario-migration-generate/src/Migrate_External_Paramed/Old.elm

+9
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ type alias AnalyticsModel =
2222
String
2323
{ position : Point2d String String
2424
}
25+
, userId : Id UserId
2526
}
2627

2728

@@ -75,3 +76,11 @@ type Debounce a
7576
{ input : List a
7677
, locked : Bool
7778
}
79+
80+
81+
type Id a =
82+
Id String
83+
84+
85+
type UserId =
86+
UserId

0 commit comments

Comments
 (0)