Skip to content

Commit 5fa0c9b

Browse files
Merge branch 'hotfix/fix-fk-flaws'
2 parents 31c05a5 + 2b14816 commit 5fa0c9b

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

src/ForeignKeyProcessor.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ const processForeignKeyWorker = async (conversion: Conversion, tableName: string
4747
);
4848

4949
if (row.CONSTRAINT_NAME in objConstraints) {
50-
objConstraints[row.CONSTRAINT_NAME].column_name.push(`"${ currentColumnName }"`);
51-
objConstraints[row.CONSTRAINT_NAME].referenced_column_name.push(`"${ currentReferencedColumnName }"`);
50+
objConstraints[row.CONSTRAINT_NAME].column_name.add(`"${ currentColumnName }"`);
51+
objConstraints[row.CONSTRAINT_NAME].referenced_column_name.add(`"${ currentReferencedColumnName }"`);
5252
return;
5353
}
5454

5555
objConstraints[row.CONSTRAINT_NAME] = Object.create(null);
56-
objConstraints[row.CONSTRAINT_NAME].column_name = [`"${ currentColumnName }"`];
57-
objConstraints[row.CONSTRAINT_NAME].referenced_column_name = [`"${ currentReferencedColumnName }"`];
56+
objConstraints[row.CONSTRAINT_NAME].column_name = new Set<string>([`"${ currentColumnName }"`]);
57+
objConstraints[row.CONSTRAINT_NAME].referenced_column_name = new Set<string>([`"${ currentReferencedColumnName }"`]);
5858
objConstraints[row.CONSTRAINT_NAME].referenced_table_name = currentReferencedTableName;
5959
objConstraints[row.CONSTRAINT_NAME].update_rule = row.UPDATE_RULE;
6060
objConstraints[row.CONSTRAINT_NAME].delete_rule = row.DELETE_RULE;
@@ -71,9 +71,9 @@ const processForeignKeyWorker = async (conversion: Conversion, tableName: string
7171

7272
const constraintsPromises: Promise<void>[] = Object.keys(objConstraints).map(async (attr: string) => {
7373
params.sql = `ALTER TABLE "${ conversion._schema }"."${ tableName }"
74-
ADD FOREIGN KEY (${ objConstraints[attr].column_name.join(',') })
74+
ADD FOREIGN KEY (${ [...objConstraints[attr].column_name].join(',') })
7575
REFERENCES "${ conversion._schema }"."${ objConstraints[attr].referenced_table_name }"
76-
(${ objConstraints[attr].referenced_column_name.join(',') })
76+
(${ [...objConstraints[attr].referenced_column_name].join(',') })
7777
ON UPDATE ${ objConstraints[attr].update_rule }
7878
ON DELETE ${ objConstraints[attr].delete_rule };`;
7979

src/IndexAndKeyProcessor.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@ export default async (conversion: Conversion, tableName: string): Promise<void>
7979
sqlAddIndex = `ALTER TABLE "${ conversion._schema }"."${ tableName }"
8080
ADD PRIMARY KEY(${ objPgIndices[index].column_name.join(',') });`;
8181
} else {
82-
const columnName: string = objPgIndices[index].column_name[0].slice(1, -1);
82+
const columnName: string = objPgIndices[index].column_name
83+
.map((colName: string) => colName.slice(1, -1))
84+
.join('_');
85+
8386
const indexName: string = getUniqueIdentifier(`${ tableName }_${ columnName }_idx`, '_idx');
8487
sqlAddIndex = `CREATE ${ (objPgIndices[index].is_unique ? 'UNIQUE ' : '') }INDEX "${ indexName }"
8588
ON "${ conversion._schema }"."${ tableName }"

0 commit comments

Comments
 (0)