SSDT2012复制csv文件部署服务器

SSDT2012 copy csv file to deploy server

我正在使用SSDT2012部署一个数据库项目。我有要填充的静态数据,但它位于 .csv 文件中。我将它添加到项目中,但看不到复制到服务器临时文件夹或类似文件夹的方法。 我尝试添加

感谢您的帮助!

编辑:我一直在查看 Deployment Contributors 但它仍然不是解决方案。实际上需要让每个人都将 Contributor 复制到他们的机器上,并且必须维护它并修复它;这不是一个理想的方法。

处理静态数据的推荐方法是在预部署或 post 部署脚本中使用合并语句:

http://blogs.msdn.com/b/ssdt/archive/2012/02/02/including-data-in-an-sql-server-database-project.aspx

2000 行很多,但 sql 可以轻松处理。

手动将 2000 行 csv 放入合并语句显然是一件非常痛苦的事情,因此您可以使用 Sql 导入向导将其放入 table(基本上只需将其部署到某处即可) 然后您可以部署 sp_generate_merge 来创建合并语句,然后您可以将其放入 post-部署脚本中:

https://github.com/readyroll/generate-sql-merge

如果您打算使用合并语句,那么无论您是否自动生成脚本,我都强烈建议您使用 Alex Whittles 的这篇博客来帮助理解它们的工作原理,因为它们一开始可能会让人非常困惑:

http://www.purplefrogsystems.com/blog/2011/12/introduction-to-t-sql-merge-basics/

最后,当您从静态数据中删除项目时,如果您有其他 tables 的外键进入数据并且您删除了子 tables 所依赖的项目,那么您应该小心合并语句会失败,因此您应该确保在 运行 合并之前继续处理 pre/post 部署脚本中的任何可能问题。这些应该可以重新运行。

埃德