我正在研究Angular / .Net核心项目,我想将其部署在配备Windows Server 2016的自制服务器上。
我一直坚持寻找从迁移文件创建数据库的最佳方法。我已经看到了一些关于stackoverflow的主题,但是我不想在服务器上犯错误,所以我正在寻求实现这一目标的最佳方法。
我认为的第一个选择是在服务器上安装Visual Studio IDE。然后,我可以打开项目并运行import requests
from bs4 import BeautifulSoup
url = 'http://www.nytimes.com'
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
for ap in soup.find_all('h2', attrs = {"class" : "balancedheader"}):
if ap.a:
print(ap.a.text.replace(".n/", " "))
else:
print(ap.strip)
命令,该命令将读取所有迁移文件并创建数据库。
但是我不认为我应该在服务器上安装Visual Studio ...
第二个选项是我在StackOverflow上看到的。在开发环境中,我可以使用命令Update-database
,它将生成一个脚本。
但是我不确定该把脚本放在哪里。我想大概是在Microsoft SQL Server Management Studio中,New查询并放了我的脚本。
你能告诉我最好的方法吗?
答案 0 :(得分:1)
您需要dotnet sdk才能使用dotnet ef migrations script
,但是您可以使用开发计算机连接到远程SQL Server并进行迁移。为此,只需将您的连接字符串指向远程SQL Server并使用Update-Database
或dotnet ef update database
答案 1 :(得分:0)
存在另一个解决方案,您可以使用SQL Server 生成脚本来查询所有数据库对象并在目标SQL Server上执行。
答案 2 :(得分:0)
在生产环境中“首次创建”数据库的最佳方法是从 SSMS(SQL Server Management Studio)生成脚本并在生产数据库服务器上运行该脚本。这样做的原因是因为你的数据库是空的(你可以把所有的数据放在脚本中),你可以很容易地更改名称等。
之后,在您的应用程序的新版本上,最好的方法是使用 Update-Database -Script
并将该脚本保存/添加到您的部署脚本中。
当您准备上线时,请尝试使用 ROLLBACK TRANSACTION 的脚本,如果出现问题...