multi-db-orm 3.0.10 → 3.0.12
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/.github/workflows/npm-publish.yml +27 -24
- package/.vscode/launch.json +29 -29
- package/.vscode/settings.json +10 -10
- package/Dockerfile +17 -17
- package/README.md +274 -260
- package/backup.js +107 -107
- package/databases.js +19 -19
- package/engines/bigquerydb.d.ts +36 -36
- package/engines/bigquerydb.js +236 -236
- package/engines/firestoredb.d.ts +39 -39
- package/engines/firestoredb.js +227 -227
- package/engines/hanadb.d.ts +24 -24
- package/engines/hanadb.js +244 -244
- package/engines/index.d.ts +8 -8
- package/engines/metrics.d.ts +8 -8
- package/engines/metrics.js +77 -77
- package/engines/mongodb.d.ts +18 -18
- package/engines/mongodb.js +148 -148
- package/engines/multidb.d.ts +41 -41
- package/engines/multidb.js +67 -67
- package/engines/mysqldb.d.ts +25 -25
- package/engines/mysqldb.js +2 -0
- package/engines/oracledb.d.ts +24 -24
- package/engines/oracledb.js +250 -250
- package/engines/sqlitedb.d.ts +11 -11
- package/engines/sqlitedb.js +166 -166
- package/index.js +23 -23
- package/migrate.sh +11 -11
- package/package.json +2 -2
- package/postinstall.js +8 -8
- package/restore.js +102 -102
- package/sync.d.ts +5 -5
- package/sync.js +48 -48
- package/test/models.js +23 -23
- package/test/test.js +434 -434
package/backup.js
CHANGED
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
var fs = require('fs');
|
|
2
|
-
const { stringify } = require('querystring');
|
|
3
|
-
async function log(arg) {
|
|
4
|
-
update(arg)
|
|
5
|
-
}
|
|
6
|
-
var maxC = 0;
|
|
7
|
-
var curC = 1;
|
|
8
|
-
async function processCollection(n) {
|
|
9
|
-
|
|
10
|
-
var coll = db.collection(n.name)
|
|
11
|
-
var count = await coll.countDocuments()
|
|
12
|
-
log(n.name + " = " + count);
|
|
13
|
-
await coll.find()
|
|
14
|
-
.toArray((err, results) => {
|
|
15
|
-
if (err) throw err;
|
|
16
|
-
|
|
17
|
-
output[n.name] = results;
|
|
18
|
-
log("Dumped " + n.name + " (" + curC + "/" + maxC + ")");
|
|
19
|
-
if (maxC > curC) {
|
|
20
|
-
curC++;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
log("\n\n All Dumps completed !!");
|
|
24
|
-
log("Saving to file.... ", file)
|
|
25
|
-
write();
|
|
26
|
-
}
|
|
27
|
-
})
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
async function write(skipWriteToFile) {
|
|
31
|
-
var blob=JSON.stringify(output);
|
|
32
|
-
if (skipWriteToFile !== true) {
|
|
33
|
-
|
|
34
|
-
if(!fs.existsSync('./dumps'))
|
|
35
|
-
fs.mkdirSync('./dumps')
|
|
36
|
-
fs.writeFileSync(file, blob);
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
finish("Done !", blob);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function getDateString() {
|
|
43
|
-
var d = new Date();
|
|
44
|
-
|
|
45
|
-
var datestring = d.getFullYear() + "" + (d.getMonth() + 1) + "" + d.getDate() + "_" +
|
|
46
|
-
d.getHours() + "" + d.getMinutes();
|
|
47
|
-
|
|
48
|
-
return datestring;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
var output = {};
|
|
52
|
-
var file;
|
|
53
|
-
var db;
|
|
54
|
-
async function dump() {
|
|
55
|
-
file = "dumps/dump_" + getDateString() + ".json";
|
|
56
|
-
if(OVERRIDE_FILE){
|
|
57
|
-
file=OVERRIDE_FILE;
|
|
58
|
-
}
|
|
59
|
-
log("Dumps Saved to " + file);
|
|
60
|
-
db.listCollections().toArray(function (err, names) {
|
|
61
|
-
|
|
62
|
-
maxC = names.length;
|
|
63
|
-
names.forEach(processCollection)
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
var update;
|
|
69
|
-
var finish;
|
|
70
|
-
|
|
71
|
-
var backup=function (dbc, upd, fin) {
|
|
72
|
-
var module = {};
|
|
73
|
-
|
|
74
|
-
if (upd == undefined || dbc == undefined) {
|
|
75
|
-
fin("No DB Connection");
|
|
76
|
-
return
|
|
77
|
-
}
|
|
78
|
-
db = dbc;
|
|
79
|
-
update = upd;
|
|
80
|
-
finish = fin;
|
|
81
|
-
module.dump = dump
|
|
82
|
-
return module;
|
|
83
|
-
};
|
|
84
|
-
module.exports = backup
|
|
85
|
-
|
|
86
|
-
var DBURL = process.argv[2]
|
|
87
|
-
var OVERRIDE_FILE = process.argv[3]
|
|
88
|
-
if (DBURL) {
|
|
89
|
-
|
|
90
|
-
const mongoose = require('mongoose');
|
|
91
|
-
mongoose.Promise = global.Promise;
|
|
92
|
-
mongoose.connect(DBURL, {
|
|
93
|
-
useUnifiedTopology: true,
|
|
94
|
-
useNewUrlParser: true,
|
|
95
|
-
}).then(() => {
|
|
96
|
-
console.log("Successfully connected to the database");
|
|
97
|
-
backup(mongoose.connection.db,()=>{},(msg,blob)=>{
|
|
98
|
-
console.log("Backup Complete : Size "+blob.length,' Bytes')
|
|
99
|
-
process.exit();
|
|
100
|
-
}).dump()
|
|
101
|
-
}) .catch(err => {
|
|
102
|
-
console.log('Could not connect to the database. Exiting now...', err);
|
|
103
|
-
process.exit();
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
1
|
+
var fs = require('fs');
|
|
2
|
+
const { stringify } = require('querystring');
|
|
3
|
+
async function log(arg) {
|
|
4
|
+
update(arg)
|
|
5
|
+
}
|
|
6
|
+
var maxC = 0;
|
|
7
|
+
var curC = 1;
|
|
8
|
+
async function processCollection(n) {
|
|
9
|
+
|
|
10
|
+
var coll = db.collection(n.name)
|
|
11
|
+
var count = await coll.countDocuments()
|
|
12
|
+
log(n.name + " = " + count);
|
|
13
|
+
await coll.find()
|
|
14
|
+
.toArray((err, results) => {
|
|
15
|
+
if (err) throw err;
|
|
16
|
+
|
|
17
|
+
output[n.name] = results;
|
|
18
|
+
log("Dumped " + n.name + " (" + curC + "/" + maxC + ")");
|
|
19
|
+
if (maxC > curC) {
|
|
20
|
+
curC++;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
log("\n\n All Dumps completed !!");
|
|
24
|
+
log("Saving to file.... ", file)
|
|
25
|
+
write();
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
async function write(skipWriteToFile) {
|
|
31
|
+
var blob=JSON.stringify(output);
|
|
32
|
+
if (skipWriteToFile !== true) {
|
|
33
|
+
|
|
34
|
+
if(!fs.existsSync('./dumps'))
|
|
35
|
+
fs.mkdirSync('./dumps')
|
|
36
|
+
fs.writeFileSync(file, blob);
|
|
37
|
+
|
|
38
|
+
}
|
|
39
|
+
finish("Done !", blob);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getDateString() {
|
|
43
|
+
var d = new Date();
|
|
44
|
+
|
|
45
|
+
var datestring = d.getFullYear() + "" + (d.getMonth() + 1) + "" + d.getDate() + "_" +
|
|
46
|
+
d.getHours() + "" + d.getMinutes();
|
|
47
|
+
|
|
48
|
+
return datestring;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
var output = {};
|
|
52
|
+
var file;
|
|
53
|
+
var db;
|
|
54
|
+
async function dump() {
|
|
55
|
+
file = "dumps/dump_" + getDateString() + ".json";
|
|
56
|
+
if(OVERRIDE_FILE){
|
|
57
|
+
file=OVERRIDE_FILE;
|
|
58
|
+
}
|
|
59
|
+
log("Dumps Saved to " + file);
|
|
60
|
+
db.listCollections().toArray(function (err, names) {
|
|
61
|
+
|
|
62
|
+
maxC = names.length;
|
|
63
|
+
names.forEach(processCollection)
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
var update;
|
|
69
|
+
var finish;
|
|
70
|
+
|
|
71
|
+
var backup=function (dbc, upd, fin) {
|
|
72
|
+
var module = {};
|
|
73
|
+
|
|
74
|
+
if (upd == undefined || dbc == undefined) {
|
|
75
|
+
fin("No DB Connection");
|
|
76
|
+
return
|
|
77
|
+
}
|
|
78
|
+
db = dbc;
|
|
79
|
+
update = upd;
|
|
80
|
+
finish = fin;
|
|
81
|
+
module.dump = dump
|
|
82
|
+
return module;
|
|
83
|
+
};
|
|
84
|
+
module.exports = backup
|
|
85
|
+
|
|
86
|
+
var DBURL = process.argv[2]
|
|
87
|
+
var OVERRIDE_FILE = process.argv[3]
|
|
88
|
+
if (DBURL) {
|
|
89
|
+
|
|
90
|
+
const mongoose = require('mongoose');
|
|
91
|
+
mongoose.Promise = global.Promise;
|
|
92
|
+
mongoose.connect(DBURL, {
|
|
93
|
+
useUnifiedTopology: true,
|
|
94
|
+
useNewUrlParser: true,
|
|
95
|
+
}).then(() => {
|
|
96
|
+
console.log("Successfully connected to the database");
|
|
97
|
+
backup(mongoose.connection.db,()=>{},(msg,blob)=>{
|
|
98
|
+
console.log("Backup Complete : Size "+blob.length,' Bytes')
|
|
99
|
+
process.exit();
|
|
100
|
+
}).dump()
|
|
101
|
+
}) .catch(err => {
|
|
102
|
+
console.log('Could not connect to the database. Exiting now...', err);
|
|
103
|
+
process.exit();
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
108
|
}
|
package/databases.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
const { MultiDbORM } = require("./engines/multidb");
|
|
2
|
-
const { FireStoreDB } = require("./engines/firestoredb");
|
|
3
|
-
const { MongoDB } = require("./engines/mongodb");
|
|
4
|
-
const { SQLiteDB } = require("./engines/sqlitedb");
|
|
5
|
-
const { OracleDB } = require("./engines/oracledb");
|
|
6
|
-
const { MySQLDB } = require("./engines/mysqldb");
|
|
7
|
-
const { HanaDB } = require("./engines/hanadb");
|
|
8
|
-
const { BigQueryDB } = require("./engines/bigquerydb");
|
|
9
|
-
|
|
10
|
-
module.exports = {
|
|
11
|
-
MultiDbORM,
|
|
12
|
-
FireStoreDB,
|
|
13
|
-
MongoDB,
|
|
14
|
-
SQLiteDB,
|
|
15
|
-
OracleDB,
|
|
16
|
-
MySQLDB,
|
|
17
|
-
HanaDB,
|
|
18
|
-
BigQueryDB,
|
|
19
|
-
};
|
|
1
|
+
const { MultiDbORM } = require("./engines/multidb");
|
|
2
|
+
const { FireStoreDB } = require("./engines/firestoredb");
|
|
3
|
+
const { MongoDB } = require("./engines/mongodb");
|
|
4
|
+
const { SQLiteDB } = require("./engines/sqlitedb");
|
|
5
|
+
const { OracleDB } = require("./engines/oracledb");
|
|
6
|
+
const { MySQLDB } = require("./engines/mysqldb");
|
|
7
|
+
const { HanaDB } = require("./engines/hanadb");
|
|
8
|
+
const { BigQueryDB } = require("./engines/bigquerydb");
|
|
9
|
+
|
|
10
|
+
module.exports = {
|
|
11
|
+
MultiDbORM,
|
|
12
|
+
FireStoreDB,
|
|
13
|
+
MongoDB,
|
|
14
|
+
SQLiteDB,
|
|
15
|
+
OracleDB,
|
|
16
|
+
MySQLDB,
|
|
17
|
+
HanaDB,
|
|
18
|
+
BigQueryDB,
|
|
19
|
+
};
|
package/engines/bigquerydb.d.ts
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { MultiDbORM } from './multidb';
|
|
2
|
-
|
|
3
|
-
interface BqServiceAccount {
|
|
4
|
-
type: string;
|
|
5
|
-
project_id: string;
|
|
6
|
-
private_key_id: string;
|
|
7
|
-
private_key: string;
|
|
8
|
-
client_email: string;
|
|
9
|
-
client_id: string;
|
|
10
|
-
auth_uri: string;
|
|
11
|
-
token_uri: string;
|
|
12
|
-
auth_provider_x509_cert_url: string;
|
|
13
|
-
client_x509_cert_url: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export declare class BigQueryDB extends MultiDbORM {
|
|
17
|
-
bq: any;
|
|
18
|
-
|
|
19
|
-
serviceAccount: BqServiceAccount;
|
|
20
|
-
|
|
21
|
-
constructor(serviceAccountObj: BqServiceAccount, datasetname?: string);
|
|
22
|
-
|
|
23
|
-
run(query: string): Promise<any>;
|
|
24
|
-
|
|
25
|
-
get(modelname: string, filter: any, options?: any): Promise<any>;
|
|
26
|
-
|
|
27
|
-
getOne(modelname: string, filter: any, id?: string, options?: any): Promise<any>;
|
|
28
|
-
|
|
29
|
-
create(modelname: string, sampleObject: any): Promise<any>;
|
|
30
|
-
|
|
31
|
-
insert(modelname: string, object: any, id?: string): Promise<any>;
|
|
32
|
-
|
|
33
|
-
update(modelname: string, filter: any, object: any, id?: string): Promise<any>;
|
|
34
|
-
|
|
35
|
-
delete(modelname: string, filter: any, id?: string): Promise<any>;
|
|
36
|
-
}
|
|
1
|
+
import { MultiDbORM } from './multidb';
|
|
2
|
+
|
|
3
|
+
interface BqServiceAccount {
|
|
4
|
+
type: string;
|
|
5
|
+
project_id: string;
|
|
6
|
+
private_key_id: string;
|
|
7
|
+
private_key: string;
|
|
8
|
+
client_email: string;
|
|
9
|
+
client_id: string;
|
|
10
|
+
auth_uri: string;
|
|
11
|
+
token_uri: string;
|
|
12
|
+
auth_provider_x509_cert_url: string;
|
|
13
|
+
client_x509_cert_url: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export declare class BigQueryDB extends MultiDbORM {
|
|
17
|
+
bq: any;
|
|
18
|
+
|
|
19
|
+
serviceAccount: BqServiceAccount;
|
|
20
|
+
|
|
21
|
+
constructor(serviceAccountObj: BqServiceAccount, datasetname?: string);
|
|
22
|
+
|
|
23
|
+
run(query: string): Promise<any>;
|
|
24
|
+
|
|
25
|
+
get(modelname: string, filter: any, options?: any): Promise<any>;
|
|
26
|
+
|
|
27
|
+
getOne(modelname: string, filter: any, id?: string, options?: any): Promise<any>;
|
|
28
|
+
|
|
29
|
+
create(modelname: string, sampleObject: any): Promise<any>;
|
|
30
|
+
|
|
31
|
+
insert(modelname: string, object: any, id?: string): Promise<any>;
|
|
32
|
+
|
|
33
|
+
update(modelname: string, filter: any, object: any, id?: string): Promise<any>;
|
|
34
|
+
|
|
35
|
+
delete(modelname: string, filter: any, id?: string): Promise<any>;
|
|
36
|
+
}
|