@@ -183,6 +183,18 @@ function generateModels() {
183183 store . generatedModels [ model . _name ] = model ;
184184 }
185185
186+ // models to override
187+ for ( modelName in store . generatedModels ) {
188+ model = store . generatedModels [ modelName ] ;
189+ name = model [ NAME ] ;
190+ modelExt = store . models [ name ] ;
191+ if ( modelExt ) {
192+ mergedModel = merge ( modelExt , model ) ;
193+ delete mergedModel . _id ;
194+ store . generatedModels [ name ] = mergedModel ;
195+ }
196+ }
197+
186198 // parents
187199 for ( modelName in store . generatedModels ) {
188200 model = store . generatedModels [ modelName ] ;
@@ -195,7 +207,7 @@ function generateModels() {
195207 }
196208 for ( i = 0 ; i < length ; i ++ ) {
197209 name = parents [ i ] ;
198- modelParent = store . models [ name ] ;
210+ modelParent = store . generatedModels [ name ] ;
199211 if ( modelParent ) {
200212 mergedModel = merge ( modelParent , model ) ;
201213 delete mergedModel . _id ;
@@ -204,18 +216,6 @@ function generateModels() {
204216 }
205217 }
206218
207- // models to override
208- for ( modelName in store . generatedModels ) {
209- model = store . generatedModels [ modelName ] ;
210- name = model [ NAME ] ;
211- modelExt = store . models [ name ] ;
212- if ( modelExt ) {
213- mergedModel = merge ( modelExt , model ) ;
214- delete mergedModel . _id ;
215- store . generatedModels [ name ] = mergedModel ;
216- }
217- }
218-
219219 // save
220220 for ( modelName in store . generatedModels ) {
221221 modelDef = store . generatedModels [ modelName ] ;
0 commit comments