EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

OR

什麼是 dotnet ef migrations script?

在使用 Entity Framework Core(EF Core)進行數據庫管理時,我們經常需要更新數據庫的結構,而 dotnet ef migrations script 是一個非常實用的命令,專門用來生成 SQL 腳本。這篇文章將簡要介紹它的功能及常見使用場景。


什麼時候需要用到 dotnet ef migrations script

當你需要把數據庫的結構更新到最新狀態,但不能直接使用 dotnet ef database update 命令時,這個命令就派上用場了。

比如:

  • 你的數據庫在 生產環境,不能讓應用程序直接操作;
  • 需要生成 SQL 腳本,交給 DBA 或運維人員手動執行;
  • 想提前查看數據庫結構變更的細節。

dotnet ef migrations script 的功能

1. 生成完整的 SQL 腳本

這個命令會根據你的遷移(Migrations)文件,生成一份從最初遷移到最新遷移的完整 SQL 腳本。

命令示例:

dotnet ef migrations script

如果需要輸出到特定文件:

dotnet ef migrations script -o UpdateScript.sql

這會在當前目錄生成名為 UpdateScript.sql 的文件。


2. 生成部分範圍的 SQL 腳本

你可以指定遷移範圍,生成從某個遷移到另一個遷移之間的 SQL 腳本。

命令示例:

dotnet ef migrations script <起始遷移名稱> <目標遷移名稱>

例子: 假設有以下遷移:

  1. InitialCreate
  2. AddProducts
  3. AddCategories

如果你只想生成從 AddProductsAddCategories 的腳本:

dotnet ef migrations script AddProducts AddCategories

3. 生成可重複執行的腳本

在某些情況下(例如多個環境的部署),你可能需要生成 可以多次運行 的腳本。

命令示例:

dotnet ef migrations script --idempotent -o SafeScript.sql

這樣生成的腳本可以安全地在任何環境執行,無論當前數據庫是否已應用某些遷移。


小結

dotnet ef migrations script 是一個用來生成 SQL 腳本的實用工具,適合以下場景:

  • 手動部署數據庫更新到生產環境;
  • 預覽或審核數據庫更改;
  • 為不同環境生成安全的更新腳本。

無論是完整遷移還是指定範圍,它都能快速滿足需求,是 EF Core 開發者不可或缺的利器!

This article was last edited at 2025-01-28 17:23:36

Today's comments have reached the limit. If you want to comment, please wait until tomorrow (UTC-Time).

There is 18h58m46s left until you can comment.