Entity Framework 在外部 SQL 服务器上进行代码优先迁移(通过 VPN)
Entity Framework code-first migration on external SQL Server (over VPN)
是否可以使用 EF 代码优先 add-migration
(在开发机器上)生成迁移脚本并在产品 SQL 服务器上使用它,该服务器只能通过 VPN(客户端内部网络)访问?我们无法从开发机器连接到生产数据库,因此我们无法调用 update-database
命令。
如果不是,您知道如何生成 insert/update 可用于生产的查询 SQL Server Management Studio 吗?
谢谢,
彼得
如果我没理解错的话,你想要来自 EF 的 SQL 脚本 并且你希望它在 Production
.
处执行
如果是,则在包管理器控制台运行中执行以下操作
Update-Database -Script
-Script : Generate a SQL script rather than executing the pending changes directly.
脚本生成后,会在 Visual Studio 中为您打开,供您查看或保存
简要
如果您希望将所有最新更改表示为 SQL 脚本,您可以 运行 在 PM 控制台中执行以下命令。
Update-Database -script -SourceMigration
NameOfTheLatestMigrationOnTheServer
详细
您可以手动生成SQL脚本,只需运行以下命令:
Update-Database -Script
Code First 迁移将 运行 迁移管道,但它不会实际应用更改,而是会为您将更改写入 .sql 文件。脚本生成后,会在 Visual Studio 中为您打开,供您查看或保存。
您可以指定要为其生成脚本的源和目标迁移。
Update-Database -Script -SourceMigration: "LastMigration" -TargetMigration: "MigrationTo"
如果您不指定目标迁移,迁移将使用
最新的迁移作为目标。
如果您不指定来源
迁移,迁移将使用数据库的当前状态。
调查 Getting a SQL Script 部分了解更多详情。
是否可以使用 EF 代码优先 add-migration
(在开发机器上)生成迁移脚本并在产品 SQL 服务器上使用它,该服务器只能通过 VPN(客户端内部网络)访问?我们无法从开发机器连接到生产数据库,因此我们无法调用 update-database
命令。
如果不是,您知道如何生成 insert/update 可用于生产的查询 SQL Server Management Studio 吗?
谢谢, 彼得
如果我没理解错的话,你想要来自 EF 的 SQL 脚本 并且你希望它在 Production
.
如果是,则在包管理器控制台运行中执行以下操作
Update-Database -Script
-Script : Generate a SQL script rather than executing the pending changes directly.
脚本生成后,会在 Visual Studio 中为您打开,供您查看或保存
简要
如果您希望将所有最新更改表示为 SQL 脚本,您可以 运行 在 PM 控制台中执行以下命令。
Update-Database -script -SourceMigration NameOfTheLatestMigrationOnTheServer
详细
您可以手动生成SQL脚本,只需运行以下命令:
Update-Database -Script
Code First 迁移将 运行 迁移管道,但它不会实际应用更改,而是会为您将更改写入 .sql 文件。脚本生成后,会在 Visual Studio 中为您打开,供您查看或保存。
您可以指定要为其生成脚本的源和目标迁移。
Update-Database -Script -SourceMigration: "LastMigration" -TargetMigration: "MigrationTo"
如果您不指定目标迁移,迁移将使用 最新的迁移作为目标。
如果您不指定来源 迁移,迁移将使用数据库的当前状态。
调查 Getting a SQL Script 部分了解更多详情。