velocious 1.0.351 → 1.0.352
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alter-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/alter-table-base.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,gDAHG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACpB,SAAS,EAAzB,SAAS;KACnB,EAQA;IADC,qBAA0B;
|
|
1
|
+
{"version":3,"file":"alter-table-base.d.ts","sourceRoot":"","sources":["../../../../src/database/query/alter-table-base.js"],"names":[],"mappings":"AAMA;IACE;;;;OAIG;IACH,gDAHG;QAAmD,MAAM,EAAjD,OAAO,oBAAoB,EAAE,OAAO;QACpB,SAAS,EAAzB,SAAS;KACnB,EAQA;IADC,qBAA0B;CAqF7B;sBArGqB,WAAW;sBAEX,wBAAwB"}
|
|
@@ -24,9 +24,9 @@ export default class VelociousDatabaseQueryAlterTableBase extends QueryBase {
|
|
|
24
24
|
const { tableData } = this;
|
|
25
25
|
const options = this.getOptions();
|
|
26
26
|
let sql = `ALTER TABLE ${options.quoteTableName(tableData.getName())} `;
|
|
27
|
-
let
|
|
27
|
+
let actionCount = 0;
|
|
28
28
|
for (const column of tableData.getColumns()) {
|
|
29
|
-
if (
|
|
29
|
+
if (actionCount > 0)
|
|
30
30
|
sql += ", ";
|
|
31
31
|
if (column.isNewColumn()) {
|
|
32
32
|
sql += "ADD ";
|
|
@@ -50,9 +50,28 @@ export default class VelociousDatabaseQueryAlterTableBase extends QueryBase {
|
|
|
50
50
|
}
|
|
51
51
|
sql += column.getSQL({ driver: this.getDriver(), forAlterTable: true });
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
actionCount++;
|
|
54
|
+
}
|
|
55
|
+
// SQLite's ALTER TABLE does not support adding constraints — defining
|
|
56
|
+
// foreign keys requires creating the table with them inline.
|
|
57
|
+
if (databaseType != "sqlite") {
|
|
58
|
+
for (const foreignKey of tableData.getForeignKeys()) {
|
|
59
|
+
if (!foreignKey.getIsNewForeignKey())
|
|
60
|
+
continue;
|
|
61
|
+
if (actionCount > 0)
|
|
62
|
+
sql += ", ";
|
|
63
|
+
sql += "ADD";
|
|
64
|
+
if (foreignKey.getName()) {
|
|
65
|
+
sql += ` CONSTRAINT ${options.quoteIndexName(foreignKey.getName())}`;
|
|
66
|
+
}
|
|
67
|
+
sql += ` FOREIGN KEY (${options.quoteColumnName(foreignKey.getColumnName())})`;
|
|
68
|
+
sql += ` REFERENCES ${options.quoteTableName(foreignKey.getReferencedTableName())} (${options.quoteColumnName(foreignKey.getReferencedColumnName())})`;
|
|
69
|
+
actionCount++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (actionCount > 0) {
|
|
73
|
+
sqls.push(sql);
|
|
54
74
|
}
|
|
55
|
-
sqls.push(sql);
|
|
56
75
|
if (databaseType == "pgsql") {
|
|
57
76
|
for (const column of tableData.getColumns()) {
|
|
58
77
|
if (!column.isNewColumn() || column.getDropColumn())
|
|
@@ -67,4 +86,4 @@ export default class VelociousDatabaseQueryAlterTableBase extends QueryBase {
|
|
|
67
86
|
return sqls;
|
|
68
87
|
}
|
|
69
88
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWx0ZXItdGFibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeS9hbHRlci10YWJsZS1iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUE7QUFDakMsT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFDMUQsT0FBTyxTQUFTLE1BQU0sd0JBQXdCLENBQUE7QUFFOUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQ0FBcUMsU0FBUSxTQUFTO0lBQ3pFOzs7O09BSUc7SUFDSCxZQUFZLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFFBQVEsRUFBQztRQUMxQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLENBQUMsU0FBUyxZQUFZLFNBQVMsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUV0RixLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFBO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDL0MsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2YsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQTtRQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFakMsSUFBSSxHQUFHLEdBQUcsZUFBZSxPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUE7UUFDdkUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBO1FBRW5CLEtBQUssTUFBTSxNQUFNLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDNUMsSUFBSSxXQUFXLEdBQUcsQ0FBQztnQkFBRSxHQUFHLElBQUksSUFBSSxDQUFBO1lBRWhDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLEdBQUcsSUFBSSxNQUFNLENBQUE7Z0JBQ2IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO1lBQ3hFLENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFBO2dCQUV6QyxJQUFJLENBQUMsYUFBYTtvQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUV2RixHQUFHLElBQUksaUJBQWlCLE9BQU8sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFBO1lBQ2xILENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDbEMsR0FBRyxJQUFJLGVBQWUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFBO1lBQ25FLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLFlBQVksSUFBSSxPQUFPLElBQUksWUFBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUN2RCxHQUFHLElBQUksZUFBZSxDQUFBO2dCQUN4QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sR0FBRyxJQUFJLFNBQVMsQ0FBQTtnQkFDbEIsQ0FBQztnQkFFRCxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7WUFDdkUsQ0FBQztZQUdELFdBQVcsRUFBRSxDQUFBO1FBQ2YsQ0FBQztRQUVELHNFQUFzRTtRQUN0RSw2REFBNkQ7UUFDN0QsSUFBSSxZQUFZLElBQUksUUFBUSxFQUFFLENBQUM7WUFDN0IsS0FBSyxNQUFNLFVBQVUsSUFBSSxTQUFTLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtvQkFBRSxTQUFRO2dCQUU5QyxJQUFJLFdBQVcsR0FBRyxDQUFDO29CQUFFLEdBQUcsSUFBSSxJQUFJLENBQUE7Z0JBRWhDLEdBQUcsSUFBSSxLQUFLLENBQUE7Z0JBRVosSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztvQkFDekIsR0FBRyxJQUFJLGVBQWUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFBO2dCQUN0RSxDQUFDO2dCQUVELEdBQUcsSUFBSSxpQkFBaUIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsR0FBRyxDQUFBO2dCQUM5RSxHQUFHLElBQUksZUFBZSxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxHQUFHLENBQUE7Z0JBRXRKLFdBQVcsRUFBRSxDQUFBO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2hCLENBQUM7UUFFRCxJQUFJLFlBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM1QixLQUFLLE1BQU0sTUFBTSxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUU7b0JBQUUsU0FBUTtnQkFFN0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFBO2dCQUN0RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7Z0JBRXpDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVO29CQUFFLFNBQVE7Z0JBRW5DLElBQUksQ0FBQyxJQUFJLENBQ1AscUJBQXFCLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3JJLENBQUE7WUFDRCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBRdWVyeUJhc2UgZnJvbSBcIi4vYmFzZS5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZURhdGEgZnJvbSBcIi4uL3RhYmxlLWRhdGEvaW5kZXguanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVF1ZXJ5QWx0ZXJUYWJsZUJhc2UgZXh0ZW5kcyBRdWVyeUJhc2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5kcml2ZXIgLSBEYXRhYmFzZSBkcml2ZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7VGFibGVEYXRhfSBhcmdzLnRhYmxlRGF0YSAtIFRhYmxlIGRhdGEuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7ZHJpdmVyLCB0YWJsZURhdGEsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoISh0YWJsZURhdGEgaW5zdGFuY2VvZiBUYWJsZURhdGEpKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHRhYmxlIGRhdGEgd2FzIGdpdmVuXCIpXG5cbiAgICBzdXBlcih7ZHJpdmVyfSlcbiAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZ1tdPn0gLSBSZXNvbHZlcyB3aXRoIFNRTCBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgYXN5bmMgdG9TUUxzKCkge1xuICAgIGNvbnN0IGRhdGFiYXNlVHlwZSA9IHRoaXMuZ2V0RHJpdmVyKCkuZ2V0VHlwZSgpXG4gICAgY29uc3Qgc3FscyA9IFtdXG4gICAgY29uc3Qge3RhYmxlRGF0YX0gPSB0aGlzXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0T3B0aW9ucygpXG5cbiAgICBsZXQgc3FsID0gYEFMVEVSIFRBQkxFICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZSh0YWJsZURhdGEuZ2V0TmFtZSgpKX0gYFxuICAgIGxldCBhY3Rpb25Db3VudCA9IDBcblxuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHRhYmxlRGF0YS5nZXRDb2x1bW5zKCkpIHtcbiAgICAgIGlmIChhY3Rpb25Db3VudCA+IDApIHNxbCArPSBcIiwgXCJcblxuICAgICAgaWYgKGNvbHVtbi5pc05ld0NvbHVtbigpKSB7XG4gICAgICAgIHNxbCArPSBcIkFERCBcIlxuICAgICAgICBzcWwgKz0gY29sdW1uLmdldFNRTCh7ZHJpdmVyOiB0aGlzLmdldERyaXZlcigpLCBmb3JBbHRlclRhYmxlOiBmYWxzZX0pXG4gICAgICB9IGVsc2UgaWYgKGNvbHVtbi5nZXROZXdOYW1lKCkpIHtcbiAgICAgICAgY29uc3QgbmV3Q29sdW1uTmFtZSA9IGNvbHVtbi5nZXROZXdOYW1lKClcblxuICAgICAgICBpZiAoIW5ld0NvbHVtbk5hbWUpIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgbmV3IGNvbHVtbiBuYW1lIGZvciAke2NvbHVtbi5nZXROYW1lKCl9YClcblxuICAgICAgICBzcWwgKz0gYFJFTkFNRSBDT0xVTU4gJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShjb2x1bW4uZ2V0TmFtZSgpKX0gVE8gJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShuZXdDb2x1bW5OYW1lKX1gXG4gICAgICB9IGVsc2UgaWYgKGNvbHVtbi5nZXREcm9wQ29sdW1uKCkpIHtcbiAgICAgICAgc3FsICs9IGBEUk9QIENPTFVNTiAke29wdGlvbnMucXVvdGVDb2x1bW5OYW1lKGNvbHVtbi5nZXROYW1lKCkpfWBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChkYXRhYmFzZVR5cGUgPT0gXCJtc3NxbFwiIHx8IGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIpIHtcbiAgICAgICAgICBzcWwgKz0gXCJBTFRFUiBDT0xVTU4gXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzcWwgKz0gXCJNT0RJRlkgXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHNxbCArPSBjb2x1bW4uZ2V0U1FMKHtkcml2ZXI6IHRoaXMuZ2V0RHJpdmVyKCksIGZvckFsdGVyVGFibGU6IHRydWV9KVxuICAgICAgfVxuXG5cbiAgICAgIGFjdGlvbkNvdW50KytcbiAgICB9XG5cbiAgICAvLyBTUUxpdGUncyBBTFRFUiBUQUJMRSBkb2VzIG5vdCBzdXBwb3J0IGFkZGluZyBjb25zdHJhaW50cyDigJQgZGVmaW5pbmdcbiAgICAvLyBmb3JlaWduIGtleXMgcmVxdWlyZXMgY3JlYXRpbmcgdGhlIHRhYmxlIHdpdGggdGhlbSBpbmxpbmUuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSAhPSBcInNxbGl0ZVwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGZvcmVpZ25LZXkgb2YgdGFibGVEYXRhLmdldEZvcmVpZ25LZXlzKCkpIHtcbiAgICAgICAgaWYgKCFmb3JlaWduS2V5LmdldElzTmV3Rm9yZWlnbktleSgpKSBjb250aW51ZVxuXG4gICAgICAgIGlmIChhY3Rpb25Db3VudCA+IDApIHNxbCArPSBcIiwgXCJcblxuICAgICAgICBzcWwgKz0gXCJBRERcIlxuXG4gICAgICAgIGlmIChmb3JlaWduS2V5LmdldE5hbWUoKSkge1xuICAgICAgICAgIHNxbCArPSBgIENPTlNUUkFJTlQgJHtvcHRpb25zLnF1b3RlSW5kZXhOYW1lKGZvcmVpZ25LZXkuZ2V0TmFtZSgpKX1gXG4gICAgICAgIH1cblxuICAgICAgICBzcWwgKz0gYCBGT1JFSUdOIEtFWSAoJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShmb3JlaWduS2V5LmdldENvbHVtbk5hbWUoKSl9KWBcbiAgICAgICAgc3FsICs9IGAgUkVGRVJFTkNFUyAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUoZm9yZWlnbktleS5nZXRSZWZlcmVuY2VkVGFibGVOYW1lKCkpfSAoJHtvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShmb3JlaWduS2V5LmdldFJlZmVyZW5jZWRDb2x1bW5OYW1lKCkpfSlgXG5cbiAgICAgICAgYWN0aW9uQ291bnQrK1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChhY3Rpb25Db3VudCA+IDApIHtcbiAgICAgIHNxbHMucHVzaChzcWwpXG4gICAgfVxuXG4gICAgaWYgKGRhdGFiYXNlVHlwZSA9PSBcInBnc3FsXCIpIHtcbiAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHRhYmxlRGF0YS5nZXRDb2x1bW5zKCkpIHtcbiAgICAgIGlmICghY29sdW1uLmlzTmV3Q29sdW1uKCkgfHwgY29sdW1uLmdldERyb3BDb2x1bW4oKSkgY29udGludWVcblxuICAgICAgY29uc3Qgbm90ZXMgPSBjb2x1bW4uZ2V0Tm90ZXNGb3JEYXRhYmFzZShkYXRhYmFzZVR5cGUpXG4gICAgICBjb25zdCBhY3R1YWxOYW1lID0gY29sdW1uLmdldEFjdHVhbE5hbWUoKVxuXG4gICAgICBpZiAoIW5vdGVzIHx8ICFhY3R1YWxOYW1lKSBjb250aW51ZVxuXG4gICAgICBzcWxzLnB1c2goXG4gICAgICAgIGBDT01NRU5UIE9OIENPTFVNTiAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGFibGVEYXRhLmdldE5hbWUoKSl9LiR7b3B0aW9ucy5xdW90ZUNvbHVtbk5hbWUoYWN0dWFsTmFtZSl9IElTICR7b3B0aW9ucy5xdW90ZShub3Rlcyl9YFxuICAgICAgKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzcWxzXG4gIH1cbn1cbiJdfQ==
|