masterrecord 0.0.48 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Entity/entityModel.js +1 -0
- package/Entity/entityTrackerModel.js +5 -5
- package/Migrations/migrationMySQLQuery.js +9 -2
- package/context.js +1 -1
- package/insertManager.js +1 -1
- package/mySQLEngine.js +10 -0
- package/package.json +1 -1
package/Entity/entityModel.js
CHANGED
|
@@ -193,6 +193,7 @@ class EntityModel {
|
|
|
193
193
|
// will use table name to find forien key
|
|
194
194
|
this.obj.type = "integer";
|
|
195
195
|
this.obj.relationshipType = "belongsTo";
|
|
196
|
+
|
|
196
197
|
this.obj.foreignTable = foreignTable; // this is the table name of the current table if diffrent from the object name
|
|
197
198
|
this.obj.foreignKey = foreignKey; // this is the table name of the joining table
|
|
198
199
|
this.obj.nullable = false; // this means it cannot be null
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
// version : 0.0.
|
|
2
|
+
// version : 0.0.6
|
|
3
3
|
var tools = require('../Tools');
|
|
4
4
|
class EntityTrackerModel {
|
|
5
5
|
|
|
@@ -128,10 +128,10 @@ class EntityTrackerModel {
|
|
|
128
128
|
|
|
129
129
|
var priKey = tools.getPrimaryKeyObject(ent.__entity);
|
|
130
130
|
|
|
131
|
-
var idValue = currentEntity[entityField].foreignKey;
|
|
132
|
-
var currentValue = this.__proto__[`_${
|
|
133
|
-
var modelValue = ent.where(`r => r.${priKey} == ${ currentValue }`).single();
|
|
134
|
-
this[entityField] =
|
|
131
|
+
//var idValue = currentEntity[entityField].foreignKey;
|
|
132
|
+
var currentValue = this.__proto__[`_${entityField}`];
|
|
133
|
+
//var modelValue = ent.where(`r => r.${priKey} == ${ currentValue }`).single();
|
|
134
|
+
this[entityField] = currentValue;
|
|
135
135
|
}
|
|
136
136
|
else{
|
|
137
137
|
return this["__proto__"]["_" + entityField];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
// verison 0.0.
|
|
2
|
+
// verison 0.0.2
|
|
3
3
|
class migrationMySQLQuery {
|
|
4
4
|
|
|
5
5
|
#tempTableName = "_temp_alter_column_update"
|
|
@@ -38,7 +38,8 @@ class migrationMySQLQuery {
|
|
|
38
38
|
var type = this.typeManager(table.type);
|
|
39
39
|
var tableName = table.name;
|
|
40
40
|
var defaultValue = "";
|
|
41
|
-
if(table.default){
|
|
41
|
+
if(table.default != null){
|
|
42
|
+
|
|
42
43
|
defaultValue = ` DEFAULT ${this.boolType(table.default)}`
|
|
43
44
|
}
|
|
44
45
|
if(table.relationshipType === 'belongsTo'){
|
|
@@ -56,6 +57,12 @@ class migrationMySQLQuery {
|
|
|
56
57
|
case "false":
|
|
57
58
|
return "0"
|
|
58
59
|
break;
|
|
60
|
+
case true:
|
|
61
|
+
return "1"
|
|
62
|
+
break;
|
|
63
|
+
case false:
|
|
64
|
+
return "0"
|
|
65
|
+
break;
|
|
59
66
|
default:
|
|
60
67
|
return type;
|
|
61
68
|
}
|
package/context.js
CHANGED
package/insertManager.js
CHANGED
package/mySQLEngine.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// version : 0.0.1
|
|
1
2
|
var tools = require('masterrecord/Tools');
|
|
2
3
|
var util = require('util');
|
|
3
4
|
|
|
@@ -324,7 +325,16 @@ class SQLLiteEngine {
|
|
|
324
325
|
for (var column in dirtyFields) {
|
|
325
326
|
// TODO Boolean value is a string with a letter
|
|
326
327
|
var type = model.__entity[dirtyFields[column]].type;
|
|
328
|
+
|
|
329
|
+
if(model.__entity[dirtyFields[column]].relationshipType === "belongsTo"){
|
|
330
|
+
type = "belongsTo";
|
|
331
|
+
}
|
|
332
|
+
|
|
327
333
|
switch(type){
|
|
334
|
+
case "belongsTo" :
|
|
335
|
+
var foreignKey = model.__entity[dirtyFields[column]].foreignKey;
|
|
336
|
+
argument = `${foreignKey} = ${model[dirtyFields[column]]},`;
|
|
337
|
+
break;
|
|
328
338
|
case "integer" :
|
|
329
339
|
argument = argument === null ? `${dirtyFields[column]} = ${model[dirtyFields[column]]},` : `${argument} ${dirtyFields[column]} = ${model[dirtyFields[column]]},`;
|
|
330
340
|
break;
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"sync-mysql2" : "^1.0.4",
|
|
9
9
|
"app-root-path": "^3.1.0"
|
|
10
10
|
},
|
|
11
|
-
"version": "0.0
|
|
11
|
+
"version": "0.1.0",
|
|
12
12
|
"description": "An Object-relational mapping for the Master framework. Master Record connects classes to relational database tables to establish a database with almost zero-configuration ",
|
|
13
13
|
"homepage": "https://github.com/Tailor/MasterRecord#readme",
|
|
14
14
|
"repository": {
|