我使用VSTS和Git作为源控制器,Azure作为我的ASP.NET Core 2.1 API应用程序的主机,我试图在VSTS中使用CI,所以除了自动更新数据库之外每个工作都有用,我用过首先是EF核心代码,我需要在CI过程中自动更新DB(在Azure中)。
但是现在,每次我更新项目中的连接字符串(到Azure DB)并手动运行update-database。
对于自动CI流程,我找到:
所以我在Debug Console中搜索找到包文件夹irst以设置命令以使用packages / migration.exe
Microsoft.AspNetCore.AzureAppServices.SiteExtension \存储\ 86 \ netcoreapp2.1
我无法找到任何包文件夹或entifyframework库
那我怎么能找到migration.exe文件呢?
有没有其他方法可以首先在EFST代码的VSTS构建中使用自动更新数据库?
更新
这是我的nuget参考:
我添加了复制文件步骤:
配置是:
我得到了错误:
源文件夹路径似乎不正确,我应该添加什么作为Source文件夹?
答案 0 :(得分:0)
我建议您在部署过程中进行迁移:
<Resource
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
type="javax.sql.DataSource"
initialSize="0"
maxActive="10"
maxIdle="5"
maxWait="5000"
minIdle="0"
timeBetweenEvictionRunsMillis="34000"
minEvictableIdleTimeMillis="55000"
testOnBorrow="true"
testWhileIdle="true"
testOnReturn="false"
validationQuery="SELECT 1 FROM dual"
validationInterval="30000"
removeAbandoned="true"
removeAbandonedTimeout="10"
name="jdbc/webapp"
username="username"
password="password"
url="${WEBAPPDB}"
/>
)复制到您的发布配置文件(.pubxml))<ItemGroup><EFMigrations …
)