Skip to content

Commit 9308086

Browse files
author
jlawrencecfm
authored
Use canonical index name when dropping
Should fix loopbackio#354
1 parent 7f8b63d commit 9308086

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

lib/migration.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,7 @@ function mixinMigration(PostgreSQL) {
744744

745745
// remove indexes
746746
aiNames.forEach(function(indexName) {
747+
var schema = self.escapeName(self.schema(model) || 'public');
747748
var i = ai[indexName];
748749
var propName = propNameRegEx.exec(indexName);
749750
var si; // index definition from model schema
@@ -753,7 +754,7 @@ function mixinMigration(PostgreSQL) {
753754
propName = propName && self.propertyName(model, propName[1]) || null;
754755
if (!(indexNames.indexOf(indexName) > -1) && !(propName && m.properties[propName] &&
755756
m.properties[propName].index)) {
756-
sql.push('DROP INDEX ' + self.escapeName(indexName));
757+
sql.push('DROP INDEX ' + schema + '.' + self.escapeName(indexName));
757758
} else {
758759
// The index was found, verify that database matches what we're expecting.
759760
// first: check single column indexes.
@@ -765,7 +766,7 @@ function mixinMigration(PostgreSQL) {
765766
!((!si.type || si.type === ai[indexName].type) && (!si.unique || si.unique === ai[indexName].unique))
766767
) {
767768
// Drop the index if the type or unique differs from the actual table
768-
sql.push('DROP INDEX ' + self.escapeName(indexName));
769+
sql.push('DROP INDEX ' + schema + '.' + self.escapeName(indexName));
769770
delete ai[indexName];
770771
}
771772
}
@@ -791,7 +792,7 @@ function mixinMigration(PostgreSQL) {
791792
}
792793

793794
if (!identical) {
794-
sql.push('DROP INDEX ' + self.escapeName(indexName));
795+
sql.push('DROP INDEX ' + schema + '.' + self.escapeName(indexName));
795796
delete ai[indexName];
796797
}
797798
}

0 commit comments

Comments
 (0)