区分大小写和数据库项目

Posted

技术标签:

【中文标题】区分大小写和数据库项目【英文标题】:Case sensitivity and database projects 【发布时间】:2013-06-20 01:27:16 【问题描述】:

我在我们的 SQL Server 2012 数据库中创建了一个名为 [Auth] 的架构。然后也创建了表和触发器。后来得知schema命名标准是小写的,所以应该是[auth]。我重命名了数据库项目中的架构,以及所有相关的参考资料。但是,架构比较功能不会检测到差异,也不会重命名架构。

这会影响我们的实体框架对象,因为它们应该'auth'

有没有办法让数据库项目把一个案例的变化看成一个变化,并更新数据库?

【问题讨论】:

【参考方案1】:

项目设置中有一个名为“Validate Casing on Identifiers”的选项,根据文档应检测大小写差异。但是,只有在项目的数据库设置中选择区分大小写的排序规则时,它似乎才相关。

一旦我选择了 SQL_Latin1_General_CP1_CS_AS,我就能够检测到架构名称的变化,并按预期编写 DROP/CREATE 架构:

【讨论】:

这不是区分大小写的列名更改。你知道怎么做吗? 我也有同样的问题。但是我的字段是西里尔文。我将数据库排序规则更改为SQL_Latin1_Generel_CP1251_CS_AS,但这对我没有帮助。在我改回SQL_Latin1_Generel_CP1_CS_AS 之后,它就可以工作了。

以上是关于区分大小写和数据库项目的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 访问数据库字段和表名有大小写区分吗?

SQL不是不区分大小写吗

sql语法有没有区分大小写?

Oracle 访问数据库字段和表名有大小写区分吗

项目问题总结2:GUID区分大写和小写吗?

Oracle 访问数据库字段和表名有大小写区分吗?