是否可以根据环境运行AspnetBoilerplate CompanyName?ProjectName.Migrator以及如何运行?
我可以看到它只能从appsettings.json读取设置,但不能从appsettings。{Environment} .json中读取设置。对于我计划将Migrator作为流程的一部分运行的CI / CD场景,这是完全不可承受的。
任何帮助或想法都将不胜感激。
答案 0 :(得分:0)
Migrator从其自己的appsettings.json文件中获取主机连接字符串。一开始,它在.Web.Host项目中的appsettings.json中是相同的。确保配置文件中的连接字符串是您想要的数据库。获取主机连接字符串后,它首先创建主机数据库并应用迁移(如果它们尚不存在)。然后,它获取租户数据库的连接字符串,并针对这些数据库运行迁移。如果租户没有专用数据库或其数据库已被其他租户迁移(对于多个租户之间的共享数据库),则会跳过租户。
您可以在开发或生产环境中使用此工具来迁移部署数据库而不是EntityFramework自己的工具(这需要一些配置,并且只能在一次运行中用于单个数据库/租户)。
您可以参考与连接字符串相关的this文档。