Update descriptor system.

Commit
3780963f701a8cf3883440f6925bf1f74e3a8983
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
src/MyFitnessTracker-Glorp/MFTDescriptorSystem.class.st
index 2151157b..6f9b82d7 100644..100644
@@ -18,7 +18,7 @@
18 18 MFTDescriptorSystem class >> defaultLogin [
19 19
20 20 ^ Login new
21 Removed: database: SQLite3Platform new;
21 Added: database: UDBCSQLite3Platform new;
22 22 host: Smalltalk imageDirectory fullName;
23 23 databaseName: self defaultDatabaseName
24 24 ]
@@ -64,18 +64,14 @@
64 64
65 65 ^ #( 'MFT_EQUIPMENT' 'MFT_MUSCLE' 'MFT_MUSCLE_GROUP'
66 66 'MFT_EXERCISE' 'MFT_REP_SCHEME' 'MFT_SET_PRESCRIPTION'
67 Removed: 'MFT_SET_GROUP_PRESCRIPTION' 'MFT_STRAIGHT_SET_GROUP_PRESCRIPTION'
68 Removed: 'MFT_SUPERSET_GROUP_PRESCRIPTION'
69 Removed: 'MFT_PRE_EXHAUST_SUPERSET_GROUP_PRESCRIPTION'
70 Removed: 'MFT_WORKOUT_PRESCRIPTION' 'MFT_ROUTINE' 'MFT_SET_LOG'
71 Removed: 'MFT_SET_GROUP_LOG' 'MFT_WORKOUT_LOG' 'MFT_WORKOUT_LOG_BOOK'
72 Removed: 'MFT_TRAINEE' 'MFT_MUSCLE_ON_MUSCLE_GROUP'
73 Removed: 'MFT_SET_ON_SET_GROUP_PRESCRIPTION'
74 Removed: 'MFT_SET_ON_STRAIGHT_SET_GROUP' 'MFT_SET_ON_SUPERSET_GROUP'
75 Removed: 'MFT_SET_ON_PRE_EXHAUST_GROUP' 'MFT_SET_GROUP_ON_WORKOUT_PRESCRIPTION'
67 Added: 'MFT_SET_GROUP_PRESCRIPTION' 'MFT_WORKOUT_PRESCRIPTION'
68 Added: 'MFT_ROUTINE' 'MFT_SET_LOG' 'MFT_SET_GROUP_LOG'
69 Added: 'MFT_WORKOUT_LOG' 'MFT_WORKOUT_LOG_BOOK' 'MFT_TRAINEE'
70 Added: 'MFT_MUSCLE_ON_MUSCLE_GROUP' 'MFT_SET_ON_SET_GROUP_PRESCRIPTION'
71 Added: 'MFT_SET_GROUP_ON_WORKOUT_PRESCRIPTION'
76 72 'MFT_WORKOUT_ON_ROUTINE' 'MFT_SET_LOG_ON_SET_GROUP_LOG'
77 73 'MFT_SET_GROUP_LOG_ON_WORKOUT_LOG'
78 Removed: 'MFT_WORKOUT_LOG_ON_LOG_BOOK' 'MFT_ACTIVATED_MUSCLE_GROUP_ON_EXERCISE' )
74 Added: 'MFT_WORKOUT_LOG_ON_LOG_BOOK' )
79 75 ]
80 76
81 77 { #category : 'class models' }
@@ -91,10 +87,8 @@
91 87 (aClassModel newAttributeNamed: #id) useDirectAccess: true.
92 88 aClassModel newAttributeNamed: #englishName.
93 89 aClassModel newAttributeNamed: #frenchName.
94 Removed: aClassModel
95 Removed: newAttributeNamed: #activatedMuscleGroups
96 Removed: from: MFTMuscleGroup
97 Removed: to: Integer.
90 Added: "Core currently stores activations as Dictionary<MFTMuscleGroup,Integer>.
91 Added: Do not map it as Integer; persist it via a dedicated activation object in the next domain refactor."
98 92 aClassModel newAttributeNamed: #equipment type: MFTEquipment
99 93 ]
100 94
@@ -307,7 +301,6 @@
307 301 join: (Join
308 302 from: (table fieldNamed: 'equipment_id')
309 303 to: ((self tableNamed: 'MFT_EQUIPMENT') fieldNamed: 'id'))
310 Removed: "activatedMuscleGroups is a Dictionary<MFTMuscleGroup,Integer>. Keep this link table in the schema; map it explicitly once the GLORP DictionaryMapping API is chosen for the project."
311 304 ]
312 305
313 306 { #category : 'descriptors' }
@@ -325,44 +318,36 @@
325 318 { #category : 'descriptors' }
326 319 MFTDescriptorSystem >> descriptorForMFTMuscleGroup: aDescriptor [
327 320
328 Removed: | table |
321 Added: | table link |
329 322 table := self tableNamed: 'MFT_MUSCLE_GROUP'.
323 Added: link := self tableNamed: 'MFT_MUSCLE_ON_MUSCLE_GROUP'.
330 324 aDescriptor table: table.
331 325 self mapIdOf: aDescriptor to: table.
332 326 self map: #englishName of: aDescriptor to: table.
333 327 self map: #frenchName of: aDescriptor to: table.
334 Removed: (aDescriptor newMapping: ToManyMapping)
328 Added: (aDescriptor newMapping: ManyToManyMapping)
335 329 attributeName: #muscles;
336 330 referenceClass: MFTMuscle;
337 Removed: useLinkTable;
338 331 join: (Join
339 332 from: (table fieldNamed: 'id')
340 Removed: to: ((self tableNamed: 'MFT_MUSCLE_ON_MUSCLE_GROUP') fieldNamed:
341 Removed: 'muscle_group_id'));
333 Added: to: (link fieldNamed: 'muscle_group_id'));
342 334 orderBy: [ :each |
343 Removed: (each getTable: 'MFT_MUSCLE_ON_MUSCLE_GROUP') getField: 'position' ]
335 Added: (each getTable: 'MFT_MUSCLE_ON_MUSCLE_GROUP') getField: 'position' ];
336 Added: writeTheOrderField
344 337 ]
345 338
346 339 { #category : 'descriptors' }
347 340 MFTDescriptorSystem >> descriptorForMFTPreExhaustSupersetGroupPrescription: aDescriptor [
348 341
349 342 | table |
350 Removed: table := self tableNamed:
351 Removed: 'MFT_PRE_EXHAUST_SUPERSET_GROUP_PRESCRIPTION'.
343 Added: table := self tableNamed: 'MFT_SET_GROUP_PRESCRIPTION'.
352 344 aDescriptor table: table.
353 345 self mapIdOf: aDescriptor to: table.
354 Removed: (aDescriptor newMapping: ToManyMapping)
355 Removed: attributeName: #sets;
356 Removed: referenceClass: MFTSetPrescription;
357 Removed: useLinkTable;
358 Removed: join: (Join
359 Removed: from: (table fieldNamed: 'id')
360 Removed: to:
361 Removed: ((self tableNamed: 'MFT_SET_ON_PRE_EXHAUST_GROUP') fieldNamed:
362 Removed: 'set_group_prescription_id'));
363 Removed: orderBy: [ :each |
364 Removed: (each getTable: 'MFT_SET_ON_PRE_EXHAUST_GROUP') getField:
365 Removed: 'position' ]
346 Added: self mapSetGroupPrescriptionSetsOf: aDescriptor to: table.
347 Added: (self typeResolverFor: MFTSetGroupPrescription)
348 Added: register: aDescriptor
349 Added: keyedBy: 'preExhaust'
350 Added: field: (table fieldNamed: 'kind')
366 351 ]
367 352
368 353 { #category : 'descriptors' }
@@ -394,7 +379,8 @@
394 379 ((self tableNamed: 'MFT_WORKOUT_ON_ROUTINE') fieldNamed:
395 380 'routine_id'));
396 381 orderBy: [ :each |
397 Removed: (each getTable: 'MFT_WORKOUT_ON_ROUTINE') getField: 'position' ]
382 Added: (each getTable: 'MFT_WORKOUT_ON_ROUTINE') getField: 'position' ];
383 Added: writeTheOrderField
398 384 ]
399 385
400 386 { #category : 'class models' }
@@ -463,7 +449,8 @@
463 449 'set_group_log_id'));
464 450 orderBy: [ :each |
465 451 (each getTable: 'MFT_SET_LOG_ON_SET_GROUP_LOG') getField:
466 Removed: 'position' ]
452 Added: 'position' ];
453 Added: writeTheOrderField
467 454 ]
468 455
469 456 { #category : 'descriptors' }
@@ -473,18 +460,10 @@
473 460 table := self tableNamed: 'MFT_SET_GROUP_PRESCRIPTION'.
474 461 aDescriptor table: table.
475 462 self mapIdOf: aDescriptor to: table.
476 Removed: (aDescriptor newMapping: ToManyMapping)
477 Removed: attributeName: #sets;
478 Removed: referenceClass: MFTSetPrescription;
479 Removed: useLinkTable;
480 Removed: join: (Join
481 Removed: from: (table fieldNamed: 'id')
482 Removed: to:
483 Removed: ((self tableNamed: 'MFT_SET_ON_SET_GROUP_PRESCRIPTION')
484 Removed: fieldNamed: 'set_group_prescription_id'));
485 Removed: orderBy: [ :each |
486 Removed: (each getTable: 'MFT_SET_ON_SET_GROUP_PRESCRIPTION') getField:
487 Removed: 'position' ]
463 Added: self mapSetGroupPrescriptionSetsOf: aDescriptor to: table.
464 Added: (self typeResolverFor: MFTSetGroupPrescription)
465 Added: register: aDescriptor
466 Added: abstract: true
488 467 ]
489 468
490 469 { #category : 'descriptors' }
@@ -530,40 +509,28 @@
530 509 MFTDescriptorSystem >> descriptorForMFTStraightSetGroupPrescription: aDescriptor [
531 510
532 511 | table |
533 Removed: table := self tableNamed: 'MFT_STRAIGHT_SET_GROUP_PRESCRIPTION'.
512 Added: table := self tableNamed: 'MFT_SET_GROUP_PRESCRIPTION'.
534 513 aDescriptor table: table.
535 514 self mapIdOf: aDescriptor to: table.
536 Removed: (aDescriptor newMapping: ToManyMapping)
537 Removed: attributeName: #sets;
538 Removed: referenceClass: MFTSetPrescription;
539 Removed: useLinkTable;
540 Removed: join: (Join
541 Removed: from: (table fieldNamed: 'id')
542 Removed: to:
543 Removed: ((self tableNamed: 'MFT_SET_ON_STRAIGHT_SET_GROUP') fieldNamed:
544 Removed: 'set_group_prescription_id'));
545 Removed: orderBy: [ :each |
546 Removed: (each getTable: 'MFT_SET_ON_STRAIGHT_SET_GROUP') getField:
547 Removed: 'position' ]
515 Added: self mapSetGroupPrescriptionSetsOf: aDescriptor to: table.
516 Added: (self typeResolverFor: MFTSetGroupPrescription)
517 Added: register: aDescriptor
518 Added: keyedBy: 'straight'
519 Added: field: (table fieldNamed: 'kind')
548 520 ]
549 521
550 522 { #category : 'descriptors' }
551 523 MFTDescriptorSystem >> descriptorForMFTSupersetGroupPrescription: aDescriptor [
552 524
553 525 | table |
554 Removed: table := self tableNamed: 'MFT_SUPERSET_GROUP_PRESCRIPTION'.
526 Added: table := self tableNamed: 'MFT_SET_GROUP_PRESCRIPTION'.
555 527 aDescriptor table: table.
556 528 self mapIdOf: aDescriptor to: table.
557 Removed: (aDescriptor newMapping: ToManyMapping)
558 Removed: attributeName: #sets;
559 Removed: referenceClass: MFTSetPrescription;
560 Removed: useLinkTable;
561 Removed: join: (Join
562 Removed: from: (table fieldNamed: 'id')
563 Removed: to: ((self tableNamed: 'MFT_SET_ON_SUPERSET_GROUP') fieldNamed:
564 Removed: 'set_group_prescription_id'));
565 Removed: orderBy: [ :each |
566 Removed: (each getTable: 'MFT_SET_ON_SUPERSET_GROUP') getField: 'position' ]
529 Added: self mapSetGroupPrescriptionSetsOf: aDescriptor to: table.
530 Added: (self typeResolverFor: MFTSetGroupPrescription)
531 Added: register: aDescriptor
532 Added: keyedBy: 'superset'
533 Added: field: (table fieldNamed: 'kind')
567 534 ]
568 535
569 536 { #category : 'descriptors' }
@@ -663,7 +630,8 @@
663 630 fieldNamed: 'workout_log_id'));
664 631 orderBy: [ :each |
665 632 (each getTable: 'MFT_SET_GROUP_LOG_ON_WORKOUT_LOG') getField:
666 Removed: 'position' ]
633 Added: 'position' ];
634 Added: writeTheOrderField
667 635 ]
668 636
669 637 { #category : 'descriptors' }
@@ -683,7 +651,8 @@
683 651 ((self tableNamed: 'MFT_WORKOUT_LOG_ON_LOG_BOOK') fieldNamed:
684 652 'log_book_id'));
685 653 orderBy: [ :each |
686 Removed: (each getTable: 'MFT_WORKOUT_LOG_ON_LOG_BOOK') getField: 'position' ]
654 Added: (each getTable: 'MFT_WORKOUT_LOG_ON_LOG_BOOK') getField: 'position' ];
655 Added: writeTheOrderField
687 656 ]
688 657
689 658 { #category : 'class models' }
@@ -724,7 +693,8 @@
724 693 fieldNamed: 'workout_prescription_id'));
725 694 orderBy: [ :each |
726 695 (each getTable: 'MFT_SET_GROUP_ON_WORKOUT_PRESCRIPTION') getField:
727 Removed: 'position' ]
696 Added: 'position' ];
697 Added: writeTheOrderField
728 698 ]
729 699
730 700 { #category : 'accessing' }
@@ -743,32 +713,25 @@
743 713 to: (aTable fieldNamed: 'id')
744 714 ]
745 715
746 Removed: { #category : 'tables' }
747 Removed: MFTDescriptorSystem >> tableForEQUIPMENT: aTable [
716 Added: { #category : 'as yet unclassified' }
717 Added: MFTDescriptorSystem >> mapSetGroupPrescriptionSetsOf: aDescriptor to: table [
748 718
749 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
750 Removed: aTable createFieldNamed: 'englishName' type: (platform varChar: 100)
719 Added: (aDescriptor newMapping: ToManyMapping)
720 Added: attributeName: #sets;
721 Added: referenceClass: MFTSetPrescription;
722 Added: useLinkTable;
723 Added: join: (Join
724 Added: from: (table fieldNamed: 'id')
725 Added: to:
726 Added: ((self tableNamed: 'MFT_SET_ON_SET_GROUP_PRESCRIPTION')
727 Added: fieldNamed: 'set_group_prescription_id'));
728 Added: orderBy: [ :each |
729 Added: (each getTable: 'MFT_SET_ON_SET_GROUP_PRESCRIPTION') getField:
730 Added: 'position' ];
731 Added: writeTheOrderField
751 732 ]
752 733
753 734 { #category : 'tables' }
754 Removed: MFTDescriptorSystem >> tableForEXERCISE: aTable [
755 Removed:
756 Removed: | equipmentField |
757 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
758 Removed: aTable createFieldNamed: 'englishName' type: (platform varChar: 100).
759 Removed: aTable createFieldNamed: 'frenchName' type: (platform varChar: 100).
760 Removed: "Store Dictionary as STON/JSON text"
761 Removed: aTable createFieldNamed: 'activatedMuscles' type: platform text.
762 Removed:
763 Removed: equipmentField := aTable
764 Removed: createFieldNamed: 'equipmentId'
765 Removed: type: platform integer.
766 Removed: aTable
767 Removed: addForeignKeyFrom: equipmentField
768 Removed: to: ((self tableNamed: 'EQUIPMENT') fieldNamed: 'id')
769 Removed: ]
770 Removed:
771 Removed: { #category : 'tables' }
772 735 MFTDescriptorSystem >> tableForMFT_ACTIVATED_MUSCLE_GROUP_ON_EXERCISE: aTable [
773 736
774 737 | exerciseField muscleGroupField |
@@ -788,24 +751,34 @@
788 751 ]
789 752
790 753 { #category : 'tables' }
754 Added: MFTDescriptorSystem >> tableForMFT_EQUIPMENT: aTable [
755 Added:
756 Added: self addIdTo: aTable.
757 Added: aTable createFieldNamed: 'englishName' type: (platform varChar: 100)
758 Added: ]
759 Added:
760 Added: { #category : 'tables' }
791 761 MFTDescriptorSystem >> tableForMFT_EXERCISE: aTable [
792 762
763 Added: | equipmentField |
793 764 self addIdTo: aTable.
794 Removed: self addStringFieldNamed: 'englishName' to: aTable.
795 Removed: self addStringFieldNamed: 'frenchName' to: aTable.
796 Removed: self
797 Removed: addForeignKeyNamed: 'equipment_id'
798 Removed: from: aTable
799 Removed: to: 'MFT_EQUIPMENT'
765 Added: aTable createFieldNamed: 'englishName' type: (platform varChar: 100).
766 Added: aTable createFieldNamed: 'frenchName' type: (platform varChar: 100).
767 Added: equipmentField := aTable
768 Added: createFieldNamed: 'equipment_id'
769 Added: type: platform integer.
770 Added: aTable
771 Added: addForeignKeyFrom: equipmentField
772 Added: to: ((self tableNamed: 'MFT_EQUIPMENT') fieldNamed: 'id')
800 773 ]
801 774
802 775 { #category : 'tables' }
803 776 MFTDescriptorSystem >> tableForMFT_MUSCLE: aTable [
804 777
805 778 self addIdTo: aTable.
806 Removed: self addStringFieldNamed: 'latinName' to: aTable.
807 Removed: self addStringFieldNamed: 'englishName' to: aTable.
808 Removed: self addTextFieldNamed: 'description' to: aTable
779 Added: aTable createFieldNamed: 'latinName' type: (platform varChar: 120).
780 Added: aTable createFieldNamed: 'englishName' type: (platform varChar: 120).
781 Added: aTable createFieldNamed: 'description' type: platform text
809 782 ]
810 783
811 784 { #category : 'tables' }
@@ -820,12 +793,12 @@
820 793 MFTDescriptorSystem >> tableForMFT_MUSCLE_ON_MUSCLE_GROUP: aTable [
821 794
822 795 | leftField rightField |
823 Removed: leftField := aTable
824 Removed: createFieldNamed: 'muscle_group_id'
825 Removed: type: platform integer.
826 Removed: rightField := aTable
827 Removed: createFieldNamed: 'muscle_id'
828 Removed: type: platform integer.
796 Added: leftField := (aTable
797 Added: createFieldNamed: 'muscle_group_id'
798 Added: type: platform integer) bePrimaryKey.
799 Added: rightField := (aTable
800 Added: createFieldNamed: 'muscle_id'
801 Added: type: platform integer) bePrimaryKey.
829 802 aTable createFieldNamed: 'position' type: platform integer.
830 803 aTable
831 804 addForeignKeyFrom: leftField
@@ -871,12 +844,12 @@
871 844 MFTDescriptorSystem >> tableForMFT_SET_GROUP_LOG_ON_WORKOUT_LOG: aTable [
872 845
873 846 | leftField rightField |
874 Removed: leftField := aTable
875 Removed: createFieldNamed: 'workout_log_id'
876 Removed: type: platform integer.
877 Removed: rightField := aTable
878 Removed: createFieldNamed: 'set_group_log_id'
879 Removed: type: platform integer.
847 Added: leftField := (aTable
848 Added: createFieldNamed: 'workout_log_id'
849 Added: type: platform integer) bePrimaryKey.
850 Added: rightField := (aTable
851 Added: createFieldNamed: 'set_group_log_id'
852 Added: type: platform integer) bePrimaryKey.
880 853 aTable createFieldNamed: 'position' type: platform integer.
881 854 aTable
882 855 addForeignKeyFrom: leftField
@@ -890,12 +863,12 @@
890 863 MFTDescriptorSystem >> tableForMFT_SET_GROUP_ON_WORKOUT_PRESCRIPTION: aTable [
891 864
892 865 | leftField rightField |
893 Removed: leftField := aTable
894 Removed: createFieldNamed: 'workout_prescription_id'
895 Removed: type: platform integer.
896 Removed: rightField := aTable
897 Removed: createFieldNamed: 'set_group_prescription_id'
898 Removed: type: platform integer.
866 Added: leftField := (aTable
867 Added: createFieldNamed: 'workout_prescription_id'
868 Added: type: platform integer) bePrimaryKey.
869 Added: rightField := (aTable
870 Added: createFieldNamed: 'set_group_prescription_id'
871 Added: type: platform integer) bePrimaryKey.
899 872 aTable createFieldNamed: 'position' type: platform integer.
900 873 aTable
901 874 addForeignKeyFrom: leftField
@@ -909,7 +882,8 @@
909 882 { #category : 'tables' }
910 883 MFTDescriptorSystem >> tableForMFT_SET_GROUP_PRESCRIPTION: aTable [
911 884
912 Removed: self addIdTo: aTable
885 Added: self addIdTo: aTable.
886 Added: aTable createFieldNamed: 'kind' type: (platform varChar: 32)
913 887 ]
914 888
915 889 { #category : 'tables' }
@@ -929,12 +903,12 @@
929 903 MFTDescriptorSystem >> tableForMFT_SET_LOG_ON_SET_GROUP_LOG: aTable [
930 904
931 905 | leftField rightField |
932 Removed: leftField := aTable
933 Removed: createFieldNamed: 'set_group_log_id'
934 Removed: type: platform integer.
935 Removed: rightField := aTable
936 Removed: createFieldNamed: 'set_log_id'
937 Removed: type: platform integer.
906 Added: leftField := (aTable
907 Added: createFieldNamed: 'set_group_log_id'
908 Added: type: platform integer) bePrimaryKey.
909 Added: rightField := (aTable
910 Added: createFieldNamed: 'set_log_id'
911 Added: type: platform integer) bePrimaryKey.
938 912 aTable createFieldNamed: 'position' type: platform integer.
939 913 aTable
940 914 addForeignKeyFrom: leftField
@@ -969,12 +943,12 @@
969 943 MFTDescriptorSystem >> tableForMFT_SET_ON_SET_GROUP_PRESCRIPTION: aTable [
970 944
971 945 | leftField rightField |
972 Removed: leftField := aTable
973 Removed: createFieldNamed: 'set_group_prescription_id'
974 Removed: type: platform integer.
975 Removed: rightField := aTable
976 Removed: createFieldNamed: 'set_prescription_id'
977 Removed: type: platform integer.
946 Added: leftField := (aTable
947 Added: createFieldNamed: 'set_group_prescription_id'
948 Added: type: platform integer) bePrimaryKey.
949 Added: rightField := (aTable
950 Added: createFieldNamed: 'set_prescription_id'
951 Added: type: platform integer) bePrimaryKey.
978 952 aTable createFieldNamed: 'position' type: platform integer.
979 953 aTable
980 954 addForeignKeyFrom: leftField
@@ -1086,12 +1060,12 @@
1086 1060 MFTDescriptorSystem >> tableForMFT_WORKOUT_LOG_ON_LOG_BOOK: aTable [
1087 1061
1088 1062 | leftField rightField |
1089 Removed: leftField := aTable
1090 Removed: createFieldNamed: 'log_book_id'
1091 Removed: type: platform integer.
1092 Removed: rightField := aTable
1093 Removed: createFieldNamed: 'workout_log_id'
1094 Removed: type: platform integer.
1063 Added: leftField := (aTable
1064 Added: createFieldNamed: 'log_book_id'
1065 Added: type: platform integer) bePrimaryKey.
1066 Added: rightField := (aTable
1067 Added: createFieldNamed: 'workout_log_id'
1068 Added: type: platform integer) bePrimaryKey.
1095 1069 aTable createFieldNamed: 'position' type: platform integer.
1096 1070 aTable
1097 1071 addForeignKeyFrom: leftField
@@ -1105,12 +1079,12 @@
1105 1079 MFTDescriptorSystem >> tableForMFT_WORKOUT_ON_ROUTINE: aTable [
1106 1080
1107 1081 | leftField rightField |
1108 Removed: leftField := aTable
1109 Removed: createFieldNamed: 'routine_id'
1110 Removed: type: platform integer.
1111 Removed: rightField := aTable
1112 Removed: createFieldNamed: 'workout_prescription_id'
1113 Removed: type: platform integer.
1082 Added: leftField := (aTable
1083 Added: createFieldNamed: 'routine_id'
1084 Added: type: platform integer) bePrimaryKey.
1085 Added: rightField := (aTable
1086 Added: createFieldNamed: 'workout_prescription_id'
1087 Added: type: platform integer) bePrimaryKey.
1114 1088 aTable createFieldNamed: 'position' type: platform integer.
1115 1089 aTable
1116 1090 addForeignKeyFrom: leftField
@@ -1127,157 +1101,8 @@
1127 1101 self addStringFieldNamed: 'title' to: aTable
1128 1102 ]
1129 1103
1130 Removed: { #category : 'tables' }
1131 Removed: MFTDescriptorSystem >> tableForMUSCLE: aTable [
1104 Added: { #category : 'as yet unclassified' }
1105 Added: MFTDescriptorSystem >> typeResolverForMFTSetGroupPrescription [
1132 1106
1133 Removed: | groupField |
1134 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1135 Removed: aTable createFieldNamed: 'latinName' type: (platform varChar: 120).
1136 Removed: aTable createFieldNamed: 'englishName' type: (platform varChar: 120).
1137 Removed: aTable createFieldNamed: 'description' type: platform text.
1138 Removed: groupField := aTable
1139 Removed: createFieldNamed: 'muscleGroupId'
1140 Removed: type: platform integer.
1141 Removed: aTable
1142 Removed: addForeignKeyFrom: groupField
1143 Removed: to: ((self tableNamed: 'MUSCLEGROUP') fieldNamed: 'id')
1144 Removed: ]
1145 Removed:
1146 Removed: { #category : 'tables' }
1147 Removed: MFTDescriptorSystem >> tableForMUSCLEGROUP: aTable [
1148 Removed:
1149 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1150 Removed: aTable createFieldNamed: 'englishName' type: (platform varChar: 100).
1151 Removed: aTable createFieldNamed: 'frenchName' type: (platform varChar: 100).
1152 Removed: aTable createFieldNamed: 'description' type: platform text
1153 Removed: ]
1154 Removed:
1155 Removed: { #category : 'tables' }
1156 Removed: MFTDescriptorSystem >> tableForSETGROUP: aTable [
1157 Removed:
1158 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey
1159 Removed: ]
1160 Removed:
1161 Removed: { #category : 'tables' }
1162 Removed: MFTDescriptorSystem >> tableForUSER: aTable [
1163 Removed:
1164 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1165 Removed: aTable createFieldNamed: 'username' type: (platform varChar: 80).
1166 Removed: aTable createFieldNamed: 'passwordHash' type: (platform varChar: 255).
1167 Removed: aTable createFieldNamed: 'realFirstName' type: (platform varChar: 80).
1168 Removed: aTable createFieldNamed: 'realLastName' type: (platform varChar: 80).
1169 Removed: aTable createFieldNamed: 'dateOfBirth' type: platform date.
1170 Removed: aTable
1171 Removed: createFieldNamed: 'lastLoginDateAndTime'
1172 Removed: type: platform timestamp.
1173 Removed: aTable
1174 Removed: createFieldNamed: 'accountRegisterDateAndTime'
1175 Removed: type: platform timestamp
1176 Removed: ]
1177 Removed:
1178 Removed: { #category : 'tables' }
1179 Removed: MFTDescriptorSystem >> tableForWEIGHT: aTable [
1180 Removed:
1181 Removed: | userField |
1182 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1183 Removed: userField := aTable createFieldNamed: 'userId' type: platform integer.
1184 Removed: aTable createFieldNamed: 'date' type: platform date.
1185 Removed: aTable createFieldNamed: 'kilograms' type: platform number.
1186 Removed: aTable
1187 Removed: addForeignKeyFrom: userField
1188 Removed: to: ((self tableNamed: 'USER') fieldNamed: 'id')
1189 Removed: ]
1190 Removed:
1191 Removed: { #category : 'tables' }
1192 Removed: MFTDescriptorSystem >> tableForWORKOUT: aTable [
1193 Removed:
1194 Removed: | userField planField |
1195 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1196 Removed: userField := aTable createFieldNamed: 'userId' type: platform integer.
1197 Removed: planField := aTable createFieldNamed: 'planId' type: platform integer.
1198 Removed: aTable createFieldNamed: 'datePlanned' type: platform timestamp.
1199 Removed: aTable createFieldNamed: 'dateCompleted' type: platform timestamp.
1200 Removed:
1201 Removed: aTable
1202 Removed: addForeignKeyFrom: userField
1203 Removed: to: ((self tableNamed: 'USER') fieldNamed: 'id').
1204 Removed: aTable
1205 Removed: addForeignKeyFrom: planField
1206 Removed: to: ((self tableNamed: 'WORKOUTPLAN') fieldNamed: 'id')
1207 Removed: ]
1208 Removed:
1209 Removed: { #category : 'tables' }
1210 Removed: MFTDescriptorSystem >> tableForWORKOUTPLAN: aTable [
1211 Removed:
1212 Removed: | userField |
1213 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1214 Removed: userField := aTable createFieldNamed: 'userId' type: platform integer.
1215 Removed: aTable
1216 Removed: addForeignKeyFrom: userField
1217 Removed: to: ((self tableNamed: 'USER') fieldNamed: 'id')
1218 Removed: ]
1219 Removed:
1220 Removed: { #category : 'tables' }
1221 Removed: MFTDescriptorSystem >> tableForWORKOUTSET: aTable [
1222 Removed:
1223 Removed: | workoutField exerciseField setGroupField |
1224 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1225 Removed: workoutField := aTable
1226 Removed: createFieldNamed: 'workoutId'
1227 Removed: type: platform integer.
1228 Removed: exerciseField := aTable
1229 Removed: createFieldNamed: 'exerciseId'
1230 Removed: type: platform integer.
1231 Removed: setGroupField := aTable
1232 Removed: createFieldNamed: 'setGroupId'
1233 Removed: type: platform integer.
1234 Removed:
1235 Removed: aTable createFieldNamed: 'reps' type: platform integer.
1236 Removed: aTable createFieldNamed: 'load' type: platform number.
1237 Removed:
1238 Removed: aTable
1239 Removed: addForeignKeyFrom: workoutField
1240 Removed: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'id').
1241 Removed: aTable
1242 Removed: addForeignKeyFrom: exerciseField
1243 Removed: to: ((self tableNamed: 'EXERCISE') fieldNamed: 'id').
1244 Removed: aTable
1245 Removed: addForeignKeyFrom: setGroupField
1246 Removed: to: ((self tableNamed: 'SETGROUP') fieldNamed: 'id')
1247 Removed: ]
1248 Removed:
1249 Removed: { #category : 'tables' }
1250 Removed: MFTDescriptorSystem >> tableForWORKOUT_MUSCLEGROUP: aTable [
1251 Removed:
1252 Removed: | workoutField mgField |
1253 Removed: (aTable createFieldNamed: 'workoutId' type: platform integer)
1254 Removed: bePrimaryKey.
1255 Removed: workoutField := aTable fieldNamed: 'workoutId'.
1256 Removed: mgField := aTable
1257 Removed: createFieldNamed: 'muscleGroupId'
1258 Removed: type: platform integer.
1259 Removed: aTable
1260 Removed: addForeignKeyFrom: workoutField
1261 Removed: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'id').
1262 Removed: aTable
1263 Removed: addForeignKeyFrom: mgField
1264 Removed: to: ((self tableNamed: 'MUSCLEGROUP') fieldNamed: 'id')
1265 Removed: ]
1266 Removed:
1267 Removed: { #category : 'tables' }
1268 Removed: MFTDescriptorSystem >> tableForWORKOUT_SETGROUP: aTable [
1269 Removed:
1270 Removed: | workoutField setGroupField |
1271 Removed: workoutField := aTable
1272 Removed: createFieldNamed: 'workoutId'
1273 Removed: type: platform integer.
1274 Removed: setGroupField := aTable
1275 Removed: createFieldNamed: 'setGroupId'
1276 Removed: type: platform integer.
1277 Removed: aTable
1278 Removed: addForeignKeyFrom: workoutField
1279 Removed: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'id').
1280 Removed: aTable
1281 Removed: addForeignKeyFrom: setGroupField
1282 Removed: to: ((self tableNamed: 'SETGROUP') fieldNamed: 'id')
1107 Added: ^ FilteredTypeResolver forRootClass: MFTSetGroupPrescription
1283 1108 ]