我需要使用现有的(MySql)数据库,其中已经定义了表和列的名称。
如果我正确理解了文档(并且我没有找到关于这个主题的好的文档,所以链接将受到高度赞赏),表名与 PersistIdentity 相关,因此必须以大写字母开头(我不是这种情况)米面对)。
但是,列名自动不大写(至少在 Yesod 书 Persistent 一章中描述从声明自动生成的代码的代码片段中暗示了这一点),因此 DB 中的列必须以小写字母开头。
上面的描述是真的吗?
我可以专门控制表到身份和列到字段的映射吗?如果不是,那么命名自动应用的规则是什么?因此,哪些名字是被禁止的?
此外,其中一个字段是 VARCHAR(30)。我如何将其传达给 Persistent?它目前抱怨(通过yesod devel):
errMessage = "BLOB/TEXT 列 'my_field' 用于在没有密钥长度的密钥规范中"}
这是自动迁移的结果(我可能应该禁用它)。但是,如果我确实想声明一个有界 VARCHAR 字段 - 我可以通过 Persistent 及其自动迁移工具来做到这一点吗?
谢谢,