@mikro-orm/sql 7.3.0-dev.7 → 7.3.0-dev.9
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.
|
@@ -499,7 +499,9 @@ export class SqliteSchemaHelper extends SchemaHelper {
|
|
|
499
499
|
if (Utils.hasObjectKeys(diff.removedChecks) ||
|
|
500
500
|
Utils.hasObjectKeys(diff.changedChecks) ||
|
|
501
501
|
Utils.hasObjectKeys(diff.changedForeignKeys) ||
|
|
502
|
-
Utils.hasObjectKeys(diff.changedColumns)
|
|
502
|
+
Utils.hasObjectKeys(diff.changedColumns) ||
|
|
503
|
+
// sqlite can only add or change a primary key by rebuilding the table
|
|
504
|
+
[...Object.values(diff.addedIndexes), ...Object.values(diff.changedIndexes)].some(index => index.primary)) {
|
|
503
505
|
return this.getAlterTempTableSQL(diff);
|
|
504
506
|
}
|
|
505
507
|
for (const index of Object.values(diff.removedIndexes)) {
|
|
@@ -644,10 +646,11 @@ export class SqliteSchemaHelper extends SchemaHelper {
|
|
|
644
646
|
first.replace(`create table ${quotedName}`, `create table ${quotedTempName}`),
|
|
645
647
|
];
|
|
646
648
|
const columns = [];
|
|
649
|
+
const renamedFrom = Object.fromEntries(Object.entries(changedTable.renamedColumns).map(([oldName, column]) => [column.name, oldName]));
|
|
647
650
|
for (const column of changedTable.toTable.getColumns()) {
|
|
648
|
-
const
|
|
649
|
-
if (
|
|
650
|
-
columns.push(this.quote(
|
|
651
|
+
const fromName = renamedFrom[column.name] ?? column.name;
|
|
652
|
+
if (changedTable.fromTable.getColumn(fromName)) {
|
|
653
|
+
columns.push(this.quote(fromName));
|
|
651
654
|
}
|
|
652
655
|
else {
|
|
653
656
|
columns.push(`null as ${this.quote(column.name)}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikro-orm/sql",
|
|
3
|
-
"version": "7.3.0-dev.
|
|
3
|
+
"version": "7.3.0-dev.9",
|
|
4
4
|
"description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"data-mapper",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"@mikro-orm/core": "^7.2.2"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
|
-
"@mikro-orm/core": "7.3.0-dev.
|
|
56
|
+
"@mikro-orm/core": "7.3.0-dev.9"
|
|
57
57
|
},
|
|
58
58
|
"engines": {
|
|
59
59
|
"node": ">= 22.17.0"
|
package/schema/SchemaHelper.js
CHANGED
|
@@ -474,10 +474,7 @@ export class SchemaHelper {
|
|
|
474
474
|
for (const foreignKey of Object.values(diff.changedForeignKeys)) {
|
|
475
475
|
ret.push(this.createForeignKey(diff.toTable, foreignKey));
|
|
476
476
|
}
|
|
477
|
-
for (const index of Object.values(diff.addedIndexes)) {
|
|
478
|
-
ret.push(this.createIndex(index, diff.toTable));
|
|
479
|
-
}
|
|
480
|
-
for (const index of Object.values(diff.changedIndexes)) {
|
|
477
|
+
for (const index of [...Object.values(diff.addedIndexes), ...Object.values(diff.changedIndexes)]) {
|
|
481
478
|
const addedColumn = diff.addedColumns[index.columnNames[0]];
|
|
482
479
|
// an added autoincrement PK column already declares the primary key inline
|
|
483
480
|
if (index.primary &&
|