如何从 SCMP 中排除数据库连接设置?
How to exclude DB connection settings from a SCMP?
我们有一个用于更新数据库的解决方案,其中包括几个 "schema comparison" (.scmp
) 文件。这些文件提供了一种方便的方式来快速打开一个选项卡,该选项卡将项目的架构与数据库的架构进行比较。麻烦的是,DB 连接字符串嵌入在 .scmp
文件中,这意味着每个开发人员都必须将文件更改为他们特定的 DB 连接设置才能使用该文件。这意味着他们必须记住始终将其从源代码管理中排除,以避免他们的数据库设置被签入。
有没有办法避免这个问题?也许,比方说,从未签入源代码管理的 connectionStrings.config
文件中提取设置,并且特定于该开发人员的设置?这就是我们使用 <connectionStrings configSource...
功能将连接字符串放入我们的 Web.config
的方式。
最后,我只是把整个 .scmp
当作一个 connectionStrings.config
文件,并将其从源代码管理中排除。无论如何,它主要是 per-machine/per-developer 东西,所以我提供了一个示例 SCMP 文件 comparison.example.scmp
,应该将其重命名为 SCMP 文件 comparison.scmp
,通过 .tfignore
从源代码控制中排除(或者 .gitignore
如果您使用 git).
不过,据我所知,没有办法从 SCMP 文件中提取特定的数据库连接字符串设置;你只需要包括或排除整个事情。
我们有一个用于更新数据库的解决方案,其中包括几个 "schema comparison" (.scmp
) 文件。这些文件提供了一种方便的方式来快速打开一个选项卡,该选项卡将项目的架构与数据库的架构进行比较。麻烦的是,DB 连接字符串嵌入在 .scmp
文件中,这意味着每个开发人员都必须将文件更改为他们特定的 DB 连接设置才能使用该文件。这意味着他们必须记住始终将其从源代码管理中排除,以避免他们的数据库设置被签入。
有没有办法避免这个问题?也许,比方说,从未签入源代码管理的 connectionStrings.config
文件中提取设置,并且特定于该开发人员的设置?这就是我们使用 <connectionStrings configSource...
功能将连接字符串放入我们的 Web.config
的方式。
最后,我只是把整个 .scmp
当作一个 connectionStrings.config
文件,并将其从源代码管理中排除。无论如何,它主要是 per-machine/per-developer 东西,所以我提供了一个示例 SCMP 文件 comparison.example.scmp
,应该将其重命名为 SCMP 文件 comparison.scmp
,通过 .tfignore
从源代码控制中排除(或者 .gitignore
如果您使用 git).
不过,据我所知,没有办法从 SCMP 文件中提取特定的数据库连接字符串设置;你只需要包括或排除整个事情。