diff --git a/ef-migration-runtimeschema.Tests/RewriteTest.cs b/ef-migration-runtimeschema.Tests/RewriteTest.cs
index 4f418c1..90ad400 100644
--- a/ef-migration-runtimeschema.Tests/RewriteTest.cs
+++ b/ef-migration-runtimeschema.Tests/RewriteTest.cs
@@ -178,5 +178,93 @@ protected override void Up(MigrationBuilder migrationBuilder)
         Assert.Equal(final, str, ignoreLineEndingDifferences: true);
     }
 
+
+        [Fact]
+        public void ShouldReplaceSchemaInForeignKeyTableConstraint()
+        {
+            var classString = @"
+public partial class AddUserName : Migration
+{
+    
+    /// <inheritdoc />
+    protected override void Up(MigrationBuilder migrationBuilder)
+    {
+    migrationBuilder.CreateTable(
+        name: ""OrganizationUser"",
+        schema: _schema.Schema,
+        columns: table => new
+        {
+            OrganizationsId = table.Column<string>(type: ""text"", nullable: false),
+            UsersId = table.Column<string>(type: ""text"", nullable: false)
+        },
+        constraints: table =>
+        {
+            table.PrimaryKey(""PK_OrganizationUser"", x => new { x.OrganizationsId, x.UsersId });
+            table.ForeignKey(
+                name: ""FK_OrganizationUser_Organization_OrganizationsId"",
+                column: x => x.OrganizationsId,
+                principalSchema: ""defaultSchema"",
+                principalTable: ""Organization"",
+                principalColumn: ""Id"",
+                onDelete: ReferentialAction.Cascade);
+            table.ForeignKey(
+                name: ""FK_OrganizationUser_Users_UsersId"",
+                column: x => x.UsersId,
+                principalSchema: ""defaultSchema"",
+                principalTable: ""Users"",
+                principalColumn: ""Id"",
+                onDelete: ReferentialAction.Cascade);
+        });
+}";
+
+            var final = @"
+public partial class AddUserName : Migration
+{
+    private readonly InterfaceName _schema;
+
+    /// <inheritdoc />
+    public AddUserName(InterfaceName schema)
+    {
+        _schema = schema;
+    }
+
+    /// <inheritdoc />
+    protected override void Up(MigrationBuilder migrationBuilder)
+    {
+    migrationBuilder.CreateTable(
+        name: ""OrganizationUser"",
+        schema: _schema.Schema,
+        columns: table => new
+        {
+            OrganizationsId = table.Column<string>(type: ""text"", nullable: false),
+            UsersId = table.Column<string>(type: ""text"", nullable: false)
+        },
+        constraints: table =>
+        {
+            table.PrimaryKey(""PK_OrganizationUser"", x => new { x.OrganizationsId, x.UsersId });
+            table.ForeignKey(
+                name: ""FK_OrganizationUser_Organization_OrganizationsId"",
+                column: x => x.OrganizationsId,
+                principalSchema: _schema.Schema,
+                principalTable: ""Organization"",
+                principalColumn: ""Id"",
+                onDelete: ReferentialAction.Cascade);
+            table.ForeignKey(
+                name: ""FK_OrganizationUser_Users_UsersId"",
+                column: x => x.UsersId,
+                principalSchema: _schema.Schema,
+                principalTable: ""Users"",
+                principalColumn: ""Id"",
+                onDelete: ReferentialAction.Cascade);
+        });
+}";
+
+            var result = MigrationCommand.RewriteSyntaxtNode(interfaceName, "testPath", classString);
+            var str = result.ToFullString();
+
+            Assert.Equal(final, str, ignoreLineEndingDifferences: true);
+        }
+
+
     }
 }
\ No newline at end of file
diff --git a/src/ef-migration-runtimeschema/SchemaRewriter.cs b/src/ef-migration-runtimeschema/SchemaRewriter.cs
index 8809cc5..b1d5890 100644
--- a/src/ef-migration-runtimeschema/SchemaRewriter.cs
+++ b/src/ef-migration-runtimeschema/SchemaRewriter.cs
@@ -13,6 +13,9 @@ public class SchemaRewriter : CSharpSyntaxRewriter
             if (node.NameColon?.Name.Identifier.Text == "schema")
                 return CreateSchemaRefnode(node);
 
+            if (node.NameColon?.Name.Identifier.Text == "principalSchema")
+                return CreateSchemaRefnode(node);
+
 
             //Replace Schema Name for migrationBuilder.EnsureSchema()
             if (node.NameColon?.Name.Identifier.Text == "name" 
diff --git a/src/ef-migration-runtimeschema/ef-migration-runtime-schema.csproj b/src/ef-migration-runtimeschema/ef-migration-runtime-schema.csproj
index 5b4c51b..fd45034 100644
--- a/src/ef-migration-runtimeschema/ef-migration-runtime-schema.csproj
+++ b/src/ef-migration-runtimeschema/ef-migration-runtime-schema.csproj
@@ -22,7 +22,7 @@
 		<PackageTags>efcore cli</PackageTags>
 		<PackageProjectUrl>https://github.com/jdevillard/ef-migration-runtime-schema</PackageProjectUrl>
 		<RepositoryUrl>https://github.com/jdevillard/ef-migration-runtime-schema</RepositoryUrl>
-		<PackageVersion>1.0.1</PackageVersion>
+		<PackageVersion>1.0.2</PackageVersion>
 	</PropertyGroup>
 
 	<ItemGroup>