Commit 30118cdac4a757f0fdc8f1d9af8bb2860490eff2
1 parent
6df1914c
IMPORTANT CHANGE
we made same change as vtm for location of the file. We move the loading of all migrations file from the application to Hayamiki lib
Showing
1 changed file
with
42 additions
and
0 deletions
Show diff stats
| 1 | +/* | |
| 2 | + * Created by PyramIDE. | |
| 3 | + * User: フランスのトトロ aka (David RENÉ) | |
| 4 | + * Date: 11/04/2020 | |
| 5 | + * Time: 12:48 | |
| 6 | + * © David RENÉ | |
| 7 | + */ | |
| 8 | + | |
| 9 | +read tools/string.anubis | |
| 10 | +read tools/basis.anubis | |
| 11 | +read xlib/database/migration_sqlite3.anubis | |
| 12 | +read xlib/database/migration_common_sqlite3.anubis | |
| 13 | + | |
| 14 | +public define Maybe(Migration) | |
| 15 | + load_dbm | |
| 16 | + ( | |
| 17 | + String file_name | |
| 18 | + ) | |
| 19 | + = | |
| 20 | + if (LoadAdm(Migration))load_adm(file_name) is | |
| 21 | + { | |
| 22 | + file_not_found then print("File '"+file_name+"' not found.\n\n");failure, | |
| 23 | + read_error then print("Error reading file '"+file_name+"'.\n\n");failure, | |
| 24 | + timeout then print("Timeout when loading '"+file_name+"'.\n\n");failure, | |
| 25 | + file_damaged then print("File '"+file_name+"' is damaged.\n\n");failure, | |
| 26 | + bad_version(expected,found) then print("Secondary module '"+file_name+"' doesn't have the same\n"+ | |
| 27 | + " version ("+found+") as primary module ("+expected+").\n\n");failure, | |
| 28 | + wrong_type(expected,found) then print("Secondary module '"+file_name+"' has different types\n\n");failure, | |
| 29 | + ok(db_migration) then println("db migration v"+db_migration.version+" module loaded ");success(db_migration) | |
| 30 | + }. | |
| 31 | + | |
| 32 | +public define List(Migration) | |
| 33 | + all_migrations | |
| 34 | + ( | |
| 35 | + String app_dbm_path, | |
| 36 | + String app_name | |
| 37 | + ) | |
| 38 | + = | |
| 39 | + with files = directory_list(app_dbm_path, app_name+"_dbm_to_v*.adm"), | |
| 40 | + all_list = map_select((String file_name) |-> load_dbm(app_dbm_path+file_name), files), | |
| 41 | + merge_sort(all_list, migration_less) | |
| 42 | +. | ... | ... |