首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Npgsql实体框架6截断约束名称,失去唯一性

Npgsql实体框架6截断约束名称,失去唯一性
EN

Stack Overflow用户
提问于 2020-07-23 21:20:08
回答 1查看 43关注 0票数 0

我正在尝试移动现有的代码库,以便对Postgres数据库的上下文使用EF6迁移。

创建初始迁移并尝试将其应用于空数据库后,我收到约束名称已存在的错误。这似乎与EF6 (或迁移)为处理Postgres的约束名称限制而进行的截断有关

有没有什么方法可以覆盖这种行为,而不是截断,而不是截断,并添加全名的散列以保持唯一性?

或者,有没有其他方法来解决这个问题?我猜oracle dbs也有同样的问题吧?有没有人解决了与他们有关的问题?

EN

回答 1

Stack Overflow用户

发布于 2020-07-23 21:28:29

这不是EF问题。缺省情况下,PostgreSQL中的标识符为limited to 63 bytes

系统使用的标识符不超过NAMEDATALEN-1个字节;可以在命令中写入更长的名称,但它们将被截断。默认情况下,NAMEDATALEN为64,因此最大标识符长度为63字节。如果此限制有问题,可以通过更改src/include/pg_config_manual.h中的NAMEDATALEN常量来提高此限制。

所以你应该先看看那里。Some info here also

在我之前的一个项目中,我们使用了PostrgeSQL,最后我只是手动分配了所需的名称。如果你首先使用代码,你也可以查看custom conventions (或this answer),但我没有亲自使用过它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63055288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档