简介: 我有这个 ASP.NET Webforms 站点,其特点是它不仅有 1 个数据库,它有很多。为什么?因为您可以即时创建站点的新“实例”。每个“实例”共享相同的代码库,但有自己的数据库。这些所有数据库都具有相同的架构(结构),但当然数据不同。不要问“为什么不将所有内容都放在一个数据库中并使用 InstanceId 知道哪个是”,因为这是一个业务策略问题。
由于 url,应用程序知道正在请求哪个实例。有一个额外的数据库来完成这个(我在设计时知道它的连接字符串)。该数据库只有 2 个表,并将 url 与“应用程序实例”相关联。然后,当然,每个“应用程序实例”都有其关联的连接字符串。
当前情况:目前没有任何东西可以帮助我们同步维护每个实例数据库(将架构更改传播到每个数据库)。所以我们是手工做的,这当然是一团糟。
问题:我想使用 rails-migration 方式来处理架构更改,最好是migratordotnet,但如果更容易设置,可以使用任何其他方式。
问题是migratordotnet需要在proj.build文件中声明连接字符串,而我直到运行时才知道它们。
真正有用的是在Application_Start上运行的某种方法,它将最新的迁移应用到每个数据库。
这怎么能用migratordotnet或任何类似的东西来完成?非常欢迎任何其他建议。
谢谢!