SSDT2012复制csv文件部署服务器
SSDT2012 copy csv file to deploy server
我正在使用SSDT2012部署一个数据库项目。我有要填充的静态数据,但它位于 .csv 文件中。我将它添加到项目中,但看不到复制到服务器临时文件夹或类似文件夹的方法。
我尝试添加
感谢您的帮助!
编辑:我一直在查看 Deployment Contributors 但它仍然不是解决方案。实际上需要让每个人都将 Contributor 复制到他们的机器上,并且必须维护它并修复它;这不是一个理想的方法。
处理静态数据的推荐方法是在预部署或 post 部署脚本中使用合并语句:
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 部署脚本中的任何可能问题。这些应该可以重新运行。
埃德
我正在使用SSDT2012部署一个数据库项目。我有要填充的静态数据,但它位于 .csv 文件中。我将它添加到项目中,但看不到复制到服务器临时文件夹或类似文件夹的方法。 我尝试添加
感谢您的帮助!
编辑:我一直在查看 Deployment Contributors 但它仍然不是解决方案。实际上需要让每个人都将 Contributor 复制到他们的机器上,并且必须维护它并修复它;这不是一个理想的方法。
处理静态数据的推荐方法是在预部署或 post 部署脚本中使用合并语句:
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 部署脚本中的任何可能问题。这些应该可以重新运行。
埃德