我设置了一个数据库项目,以使数据库在环境之间保持同步并保持版本化。数据库有一些我创建的简单表,然后是运行aspnet_regsql.exe
工具时获得的SqlMembership提供程序的默认安装。我执行了从数据库到数据库项目的模式比较,VS生成了所有脚本。大。
但是,我收到了一堆错误,这些错误打破了aspnet_regsql
工具创建的某些对象的构建。
Schema: [aspnet_WebEvent_FullAccess] has an unresolved reference to object [aspnet_WebEvent_FullAccess].
Schema: [aspnet_Membership_BasicAccess] has an unresolved reference to object [aspnet_Membership_BasicAccess].
Schema: [aspnet_Membership_FullAccess] has an unresolved reference to object [aspnet_Membership_FullAccess].
Schema: [aspnet_Membership_ReportingAccess] has an unresolved reference to object [aspnet_Membership_ReportingAccess].
Schema: [aspnet_Personalization_BasicAccess] has an unresolved reference to object [aspnet_Personalization_BasicAccess].
Schema: [aspnet_Personalization_FullAccess] has an unresolved reference to object [aspnet_Personalization_FullAccess].
Schema: [aspnet_Personalization_ReportingAccess] has an unresolved reference to object [aspnet_Personalization_ReportingAccess].
Schema: [aspnet_Profile_BasicAccess] has an unresolved reference to object [aspnet_Profile_BasicAccess].
Schema: [aspnet_Profile_FullAccess] has an unresolved reference to object [aspnet_Profile_FullAccess].
Schema: [aspnet_Profile_ReportingAccess] has an unresolved reference to object [aspnet_Profile_ReportingAccess].
Schema: [aspnet_Roles_BasicAccess] has an unresolved reference to object [aspnet_Roles_BasicAccess].
Schema: [aspnet_Roles_FullAccess] has an unresolved reference to object [aspnet_Roles_FullAccess].
Schema: [aspnet_Roles_ReportingAccess] has an unresolved reference to object [aspnet_Roles_ReportingAccess].
对我来说,它们似乎都很圆润。我该如何摆脱这些错误?如果我不能摆脱它们,我可以将它们从我的模式比较中排除在一起吗?怎么样?
提前致谢!
答案 0 :(得分:1)
我猜左边的项目是模式,右边的项目是匹配的数据库角色,匹配名称,所以尽管它看起来像圆形但实际上是不同的对象。
如果您查看数据库 - > Security-> Roles,然后是Schemas,您会看到两个集合吗?
数据库项目中是否同时具有数据库角色和模式?可能是您的模式与数据库同步但不是角色?你要么都不需要,要么两者都不需要。
如果您不想将权限更改部署到数据库,则可以在IgnorePermissions
设置中选择.sqldeployment
。如果您没有在数据库项目中同步权限,但希望删除目标数据库中不在模型中的所有其他内容(GenerateDropsIfNotInProject
中的.sqldeployment
)
希望这有帮助