This is an automated email from the ASF dual-hosted git repository.

ptupitsyn pushed a commit to branch ignite-22133-bak
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 866e69d13fd4e6c16aa89dc7b01c6703fb2f3889
Author: Pavel Tupitsyn <[email protected]>
AuthorDate: Fri Jul 11 13:41:41 2025 +0300

    wip DropAllTables
---
 .../TestUtilities/IgniteTestStore.cs                 | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git 
a/modules/platforms/dotnet/Apache.Ignite.EntityFrameworkCore.FunctionalTests/TestUtilities/IgniteTestStore.cs
 
b/modules/platforms/dotnet/Apache.Ignite.EntityFrameworkCore.FunctionalTests/TestUtilities/IgniteTestStore.cs
index 357b82248d9..6fed871df75 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.EntityFrameworkCore.FunctionalTests/TestUtilities/IgniteTestStore.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.EntityFrameworkCore.FunctionalTests/TestUtilities/IgniteTestStore.cs
@@ -27,11 +27,23 @@ public class IgniteTestStore : RelationalTestStore
     }
 
     public override DbContextOptionsBuilder 
AddProviderOptions(DbContextOptionsBuilder builder) =>
-        builder.UseIgnite("localhost:10942");
+        builder.UseIgnite(GetIgniteEndpoint());
 
-    public override void Clean(DbContext context)
+    public override void Clean(DbContext context) => 
DropAllTables().GetAwaiter().GetResult();
+
+    private static async Task DropAllTables()
     {
-        // TODO: ??
-        context.Database.EnsureDeleted();
+        // Drop all tables so that EnsureCreatedAsync works as expected and 
every test starts with a clean slate.
+        using var client = await 
IgniteClient.StartAsync(new(GetIgniteEndpoint()));
+
+        var tables = await client.Tables.GetTablesAsync();
+        var script = string.Join("\n", tables.Select(t => $"DROP TABLE 
{t.Name}; "));
+
+        if (!string.IsNullOrWhiteSpace(script))
+        {
+            await client.Sql.ExecuteScriptAsync(script);
+        }
     }
+
+    private static string GetIgniteEndpoint() => "localhost:10942";
 }

Reply via email to