js-core-data
Advanced tools
Comparing version 1.4.1 to 1.4.2
@@ -809,3 +809,3 @@ // Generated by CoffeeScript 1.10.0 | ||
GenericSQLStore.prototype.createMigrationQueries = function(migration) { | ||
var addedEntitiesNames, attribute, change, e, entityChangedNames, entityFrom, entityName, entityTo, error, error1, inverseRelationship, j, k, l, len, len1, len2, len3, len4, len5, len6, len7, len8, len9, m, modelFrom, modelTo, n, newAttribute, newInverseRelationship, newReflexiveRelationship, newReflexiveTableName, newRelationship, o, p, q, r, ref, ref1, ref10, ref11, ref12, ref13, ref14, ref15, ref16, ref17, ref18, ref19, ref2, ref20, ref21, ref22, ref23, ref3, ref4, ref5, ref6, ref7, ref8, ref9, reflexiveRelationship, reflexiveTableName, relationship, s, sqls, updatedEntities; | ||
var addedEntitiesNames, attribute, change, e, entityChangedNames, entityFrom, entityName, entityTo, error, error1, inverseRelationship, j, k, l, len, len1, len10, len2, len3, len4, len5, len6, len7, len8, len9, m, modelFrom, modelTo, n, newAttribute, newInverseRelationship, newReflexiveRelationship, newReflexiveTableName, newRelationship, o, p, q, r, ref, ref1, ref10, ref11, ref12, ref13, ref14, ref15, ref16, ref17, ref18, ref19, ref2, ref20, ref21, ref22, ref23, ref24, ref3, ref4, ref5, ref6, ref7, ref8, ref9, reflexiveRelationship, reflexiveTableName, relationship, s, sqls, t, updatedEntities; | ||
sqls = []; | ||
@@ -823,3 +823,10 @@ entityChangedNames = {}; | ||
addedEntitiesNames.push(entityName); | ||
sqls = sqls.concat(this.createEntityQueries(modelTo.getEntity(entityName))); | ||
sqls = sqls.concat(this.createEntityQueries(modelTo.getEntity(entityName), false, { | ||
noRelationships: true | ||
})); | ||
ref1 = modelTo.getEntity(entityName).relationships; | ||
for (k = 0, len1 = ref1.length; k < len1; k++) { | ||
relationship = ref1[k]; | ||
sqls = sqls.concat(this._addRelationshipQueries(relationship.entity.name, relationship)); | ||
} | ||
break; | ||
@@ -835,11 +842,11 @@ case '-': | ||
updatedEntities = _.uniq(Object.keys(migration.attributesChanges).concat(Object.keys(migration.relationshipsChanges))); | ||
for (k = 0, len1 = updatedEntities.length; k < len1; k++) { | ||
entityName = updatedEntities[k]; | ||
for (l = 0, len2 = updatedEntities.length; l < len2; l++) { | ||
entityName = updatedEntities[l]; | ||
entityTo = modelTo.getEntity(entityName) || modelTo.getEntity(entityChangedNames[entityName]); | ||
entityFrom = modelFrom.getEntity(entityName) || modelFrom.getEntity(entityChangedNames[entityName]); | ||
if (entityFrom) { | ||
ref1 = entityFrom.getNonTransientAttributes(); | ||
for (l = 0, len2 = ref1.length; l < len2; l++) { | ||
attribute = ref1[l]; | ||
change = (ref2 = migration.attributesChanges[entityName]) != null ? ref2[attribute.name] : void 0; | ||
ref2 = entityFrom.getNonTransientAttributes(); | ||
for (m = 0, len3 = ref2.length; m < len3; m++) { | ||
attribute = ref2[m]; | ||
change = (ref3 = migration.attributesChanges[entityName]) != null ? ref3[attribute.name] : void 0; | ||
if (change) { | ||
@@ -865,6 +872,6 @@ switch (change) { | ||
if (entityTo && indexOf.call(addedEntitiesNames, entityName) < 0) { | ||
ref3 = entityTo.getNonTransientAttributes(); | ||
for (m = 0, len3 = ref3.length; m < len3; m++) { | ||
attribute = ref3[m]; | ||
change = (ref4 = migration.attributesChanges[entityName]) != null ? ref4[attribute.name] : void 0; | ||
ref4 = entityTo.getNonTransientAttributes(); | ||
for (n = 0, len4 = ref4.length; n < len4; n++) { | ||
attribute = ref4[n]; | ||
change = (ref5 = migration.attributesChanges[entityName]) != null ? ref5[attribute.name] : void 0; | ||
if (change === '+') { | ||
@@ -876,7 +883,7 @@ sqls.push('ALTER TABLE ' + this.quoteSymbol + this._formatTableName(entityName) + this.quoteSymbol + ' ADD COLUMN ' + this._columnDefinitionForAttribute(attribute)); | ||
if (entityFrom) { | ||
ref5 = entityFrom.relationships; | ||
for (n = 0, len4 = ref5.length; n < len4; n++) { | ||
relationship = ref5[n]; | ||
ref6 = entityFrom.relationships; | ||
for (o = 0, len5 = ref6.length; o < len5; o++) { | ||
relationship = ref6[o]; | ||
if (!relationship.toMany) { | ||
change = (ref6 = migration.relationshipsChanges[entityName]) != null ? ref6[relationship.name] : void 0; | ||
change = (ref7 = migration.relationshipsChanges[entityName]) != null ? ref7[relationship.name] : void 0; | ||
if (change && (change !== '+' && change !== '-')) { | ||
@@ -895,5 +902,5 @@ try { | ||
if (entityFrom) { | ||
ref7 = entityFrom.relationships; | ||
for (o = 0, len5 = ref7.length; o < len5; o++) { | ||
relationship = ref7[o]; | ||
ref8 = entityFrom.relationships; | ||
for (p = 0, len6 = ref8.length; p < len6; p++) { | ||
relationship = ref8[p]; | ||
inverseRelationship = relationship.inverseRelationship(); | ||
@@ -903,3 +910,3 @@ reflexiveRelationship = this._relationshipByPriority(relationship, inverseRelationship); | ||
if (relationship.toMany && inverseRelationship.toMany) { | ||
change = ((ref8 = migration.relationshipsChanges[entityName]) != null ? ref8[relationship.name] : void 0) || ((ref9 = migration.relationshipsChanges[inverseRelationship.entity.name]) != null ? ref9[inverseRelationship.name] : void 0); | ||
change = ((ref9 = migration.relationshipsChanges[entityName]) != null ? ref9[relationship.name] : void 0) || ((ref10 = migration.relationshipsChanges[inverseRelationship.entity.name]) != null ? ref10[inverseRelationship.name] : void 0); | ||
if (change) { | ||
@@ -915,5 +922,5 @@ switch (change) { | ||
} | ||
ref10 = entityFrom.relationships; | ||
for (p = 0, len6 = ref10.length; p < len6; p++) { | ||
relationship = ref10[p]; | ||
ref11 = entityFrom.relationships; | ||
for (q = 0, len7 = ref11.length; q < len7; q++) { | ||
relationship = ref11[q]; | ||
inverseRelationship = relationship.inverseRelationship(); | ||
@@ -923,3 +930,3 @@ reflexiveRelationship = this._relationshipByPriority(relationship, inverseRelationship); | ||
if (relationship.toMany && inverseRelationship.toMany) { | ||
change = (ref11 = migration.relationshipsChanges[entityName]) != null ? ref11[relationship.name] : void 0; | ||
change = (ref12 = migration.relationshipsChanges[entityName]) != null ? ref12[relationship.name] : void 0; | ||
if (change && (change !== '+' && change !== '-')) { | ||
@@ -938,11 +945,11 @@ newRelationship = entityTo.getRelationship(change); | ||
} | ||
ref12 = modelFrom.entities; | ||
for (entityName in ref12) { | ||
entityFrom = ref12[entityName]; | ||
ref13 = entityFrom.relationships; | ||
for (q = 0, len7 = ref13.length; q < len7; q++) { | ||
relationship = ref13[q]; | ||
ref13 = modelFrom.entities; | ||
for (entityName in ref13) { | ||
entityFrom = ref13[entityName]; | ||
ref14 = entityFrom.relationships; | ||
for (r = 0, len8 = ref14.length; r < len8; r++) { | ||
relationship = ref14[r]; | ||
inverseRelationship = relationship.inverseRelationship(); | ||
if (!relationship.toMany) { | ||
change = ((ref14 = migration.relationshipsChanges[entityName]) != null ? ref14[relationship.name] : void 0) || ((ref15 = migration.relationshipsChanges[inverseRelationship.entity.name]) != null ? ref15[inverseRelationship.name] : void 0); | ||
change = ((ref15 = migration.relationshipsChanges[entityName]) != null ? ref15[relationship.name] : void 0) || ((ref16 = migration.relationshipsChanges[inverseRelationship.entity.name]) != null ? ref16[inverseRelationship.name] : void 0); | ||
if (change) { | ||
@@ -959,12 +966,12 @@ switch (change) { | ||
} | ||
ref16 = modelTo.entities; | ||
for (entityName in ref16) { | ||
entityTo = ref16[entityName]; | ||
if (entityTo && (ref17 = entityTo.name, indexOf.call(addedEntitiesNames, ref17) < 0)) { | ||
ref18 = entityTo.relationships; | ||
for (r = 0, len8 = ref18.length; r < len8; r++) { | ||
relationship = ref18[r]; | ||
ref17 = modelTo.entities; | ||
for (entityName in ref17) { | ||
entityTo = ref17[entityName]; | ||
if (entityTo && (ref18 = entityTo.name, indexOf.call(addedEntitiesNames, ref18) < 0)) { | ||
ref19 = entityTo.relationships; | ||
for (s = 0, len9 = ref19.length; s < len9; s++) { | ||
relationship = ref19[s]; | ||
inverseRelationship = relationship.inverseRelationship(); | ||
if (!relationship.toMany) { | ||
change = ((ref19 = migration.relationshipsChanges[entityName]) != null ? ref19[relationship.name] : void 0) || ((ref20 = migration.relationshipsChanges[inverseRelationship.entity.name]) != null ? ref20[inverseRelationship.name] : void 0); | ||
change = ((ref20 = migration.relationshipsChanges[entityName]) != null ? ref20[relationship.name] : void 0) || ((ref21 = migration.relationshipsChanges[inverseRelationship.entity.name]) != null ? ref21[inverseRelationship.name] : void 0); | ||
switch (change) { | ||
@@ -978,8 +985,8 @@ case '+': | ||
} | ||
ref21 = entityTo.relationships; | ||
for (s = 0, len9 = ref21.length; s < len9; s++) { | ||
relationship = ref21[s]; | ||
ref22 = entityTo.relationships; | ||
for (t = 0, len10 = ref22.length; t < len10; t++) { | ||
relationship = ref22[t]; | ||
inverseRelationship = relationship.inverseRelationship(); | ||
if (relationship.toMany && inverseRelationship.toMany) { | ||
change = ((ref22 = migration.relationshipsChanges[entityName]) != null ? ref22[relationship.name] : void 0) || ((ref23 = migration.relationshipsChanges[inverseRelationship.entity.name]) != null ? ref23[inverseRelationship.name] : void 0); | ||
change = ((ref23 = migration.relationshipsChanges[entityName]) != null ? ref23[relationship.name] : void 0) || ((ref24 = migration.relationshipsChanges[inverseRelationship.entity.name]) != null ? ref24[inverseRelationship.name] : void 0); | ||
if (change === '+') { | ||
@@ -986,0 +993,0 @@ sqls = sqls.concat(this.createRelationshipQueries(relationship)); |
@@ -142,7 +142,9 @@ // Generated by CoffeeScript 1.10.0 | ||
} | ||
ref2 = entity.relationships; | ||
for (k = 0, len2 = ref2.length; k < len2; k++) { | ||
relationship = ref2[k]; | ||
if (!relationship.toMany) { | ||
parts.push(this._relationshipColumnDefinition(relationship)); | ||
if (!options.noRelationships) { | ||
ref2 = entity.relationships; | ||
for (k = 0, len2 = ref2.length; k < len2; k++) { | ||
relationship = ref2[k]; | ||
if (!relationship.toMany) { | ||
parts.push(this._relationshipColumnDefinition(relationship)); | ||
} | ||
} | ||
@@ -149,0 +151,0 @@ } |
@@ -131,7 +131,9 @@ // Generated by CoffeeScript 1.10.0 | ||
} | ||
ref1 = entity.relationships; | ||
for (j = 0, len1 = ref1.length; j < len1; j++) { | ||
relationship = ref1[j]; | ||
if (!relationship.toMany) { | ||
parts.push(this._relationshipColumnDefinition(relationship)); | ||
if (!options.noRelationships) { | ||
ref1 = entity.relationships; | ||
for (j = 0, len1 = ref1.length; j < len1; j++) { | ||
relationship = ref1[j]; | ||
if (!relationship.toMany) { | ||
parts.push(this._relationshipColumnDefinition(relationship)); | ||
} | ||
} | ||
@@ -138,0 +140,0 @@ } |
@@ -116,7 +116,9 @@ // Generated by CoffeeScript 1.10.0 | ||
} | ||
ref1 = entity.relationships; | ||
for (j = 0, len1 = ref1.length; j < len1; j++) { | ||
relationship = ref1[j]; | ||
if (!relationship.toMany) { | ||
parts.push('`' + relationship.name + '_id` int(11) DEFAULT NULL REFERENCES `' + this._formatTableName(relationship.destinationEntity.name) + '`(`_id`) ON DELETE ' + relationship.getOnDeleteRule()); | ||
if (!options.noRelationships) { | ||
ref1 = entity.relationships; | ||
for (j = 0, len1 = ref1.length; j < len1; j++) { | ||
relationship = ref1[j]; | ||
if (!relationship.toMany) { | ||
parts.push('`' + relationship.name + '_id` int(11) DEFAULT NULL REFERENCES `' + this._formatTableName(relationship.destinationEntity.name) + '`(`_id`) ON DELETE ' + relationship.getOnDeleteRule()); | ||
} | ||
} | ||
@@ -123,0 +125,0 @@ } |
{ | ||
"name": "js-core-data", | ||
"description": "ORM inspired by Apple's Objective-C CoreData", | ||
"version": "1.4.1", | ||
"version": "1.4.2", | ||
"license": "MIT", | ||
@@ -6,0 +6,0 @@ "keywords": [ |
@@ -47,2 +47,5 @@ var assert = require('assert'); | ||
}); | ||
model2.defineEntity('Test2',{ | ||
name:'string' | ||
}); | ||
model2.defineRelationshipManyToOne('User',company2Name,'company2','users2',{onDelete:'cascade'}); | ||
@@ -57,2 +60,3 @@ model2.defineRelationshipOneToMany('User',company2Name,'favoriteCompanies','favoritedUser',{onDelete:'cascade'}); | ||
migration1to2.removeEntity('Test') | ||
migration1to2.addEntity('Test2') | ||
migration1to2.renameEntity('Company',company2Name); | ||
@@ -59,0 +63,0 @@ migration1to2.addAttribute(company2Name,'name2'); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
508850
100
7648