diff --git a/Directory.Build.props b/Directory.Build.props index f78c7fe..b4351a6 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - 7.13.1 + 7.13.2 12.0 enable enable diff --git a/src/Weasel.Postgresql/Tables/ForeignKey.cs b/src/Weasel.Postgresql/Tables/ForeignKey.cs index 8ce8035..7b18d52 100644 --- a/src/Weasel.Postgresql/Tables/ForeignKey.cs +++ b/src/Weasel.Postgresql/Tables/ForeignKey.cs @@ -160,7 +160,12 @@ public void WriteDropStatement(Table parent, TextWriter writer) public void TryToCorrectForLink(Table parentTable, Table linkedTable) { // Depends on "id" always being first in Marten world - LinkedNames = linkedTable.PrimaryKeyColumns.ToArray(); + // This is important, don't lose the ordering that marten does to put tenant_id first + if (LinkedNames.Length != linkedTable.PrimaryKeyColumns.Count) + { + LinkedNames = LinkedNames.Union(linkedTable.PrimaryKeyColumns).ToArray(); + } + if (ColumnNames.Length != LinkedNames.Length) { // Leave the first column alone!