EF Core migration SQL, explained
Paste the script that dotnet ef migrations script produces and get a
plain-English account of what it will do to your database — every table,
column, index and foreign key, migration by migration — with the statements that lose data
or lock tables flagged before they reach production. Reads Npgsql (PostgreSQL) and SQL Server
scripts, plain or --idempotent, and says so honestly when it meets something it
doesn't recognize.
What this script does
Needs your judgment
What you're looking at
Free API — explain migrations from your own tools
The same engine powers an open API (this page uses it too). No signup, no key — just a rate limit of 60 requests per minute per IP. Handy for a CI step that posts the summary on the pull request, or fails the build when a migration drops a column.
curl
curl -X POST https://www.coder000.com/api/v1/ef-migration-explain \
-H "Content-Type: application/json" \
-d '{"input": "START TRANSACTION;\nALTER TABLE \"Patients\" DROP COLUMN \"Phone\";\nCOMMIT;"}'
C#
var script = await File.ReadAllTextAsync("migrate.sql");
using var http = new HttpClient();
var response = await http.PostAsJsonAsync(
"https://www.coder000.com/api/v1/ef-migration-explain",
new { input = script });
var result = await response.Content.ReadFromJsonAsync<JsonElement>();
Console.WriteLine(result.GetProperty("output").GetString());
foreach (var w in result.GetProperty("warnings").EnumerateArray())
Console.WriteLine($"!! {w.GetProperty("change").GetString()}");
Response shape: { "output": "…", "notes": [...], "warnings": [...] } —
the uniform coder000 tool response. output is the plain-English summary,
warnings are the statements that need a human (data loss, locks, constraints
that can fail on existing rows), notes explain what each construct is, and
every item carries a change, an explanation, and a
link to the tutorial behind it.
Learn the why, not just the what
The rules this tool applies are exactly what these posts teach.