设定:
我在发布配置文件上启用了“执行代码优先迁移”并发布到DEV插槽。 DEV数据库完美更新。
但是当我将我的插槽换成PROD时,PROD数据库上没有执行Code First Migration。
我们有多个客户需要此设置。我希望开发人员将新版本设置到DEV插槽中,我希望我的项目经理在他们认为客户已准备好接收新版本时进行SWAP,这样他们就可以立即演示新版本。我不希望他们再做更多的其他行动。
现在我做了一个修复,让他们浏览应用程序中的URL,该URL将通过以下代码执行任何缺失的更新:
import healpy as hp
import numpy as np
import matplotlib.pyplot as plt
# Set the number of sources and the coordinates for the input
nsources = int(1.e4)
nside = 2
npix = hp.nside2npix(nside)
# Coordinates and the density field f
thetas = np.random.random(nsources) * np.pi
phis = np.random.random(nsources) * np.pi * 2.
fs = np.random.randn(nsources)
# Go from HEALPix coordinates to indices
indices = hp.ang2pix(nside, thetas, phis)
# Initate the map and fill it with the values
hpxmap = np.zeros(npix, dtype=np.float)
hpxmap[indices] += fs[indices]
# Inspect the map
hp.mollview(hpxmap)
交换插槽时没有触发迁移是正常的吗?
答案 0 :(得分:0)
您是否将连接字符串配置为特定于插槽的设置?如果是这样,您的工作进程应该在swap上重启。您只需要确保迁移在启动时运行。显然,发布配置文件所做的配置更改导致迁移在启动时运行,但不会传播到生产槽中。
请参阅ASP.NET博客上的这篇文章,了解选项:EF Code First Migrations Deployment to an Azure Cloud Service