如何向Persistent声明我有一个表,其主键是两个字段的组合?
例如,假设我有一个包含first_name和last_name的表,那么在SQL语法中我需要类似的东西:
CONSTRAINT pk_PersonID PRIMARY KEY (first_name,last_name)
Run Code Online (Sandbox Code Playgroud)
谢谢,
我正在写我的第一个Yesod应用程序.该应用程序涉及用户选择查看图表,该图表是基于存储在服务器上的DB中的数据动态生成的.我知道如何获取用户请求并在服务器的文件系统上创建映像,但是如何创建一个呈现它的响应页面?
PS由于我正在使用GnuPlot生成图像,我只知道如何将其作为文件写入文件系统,但如果您碰巧知道如何将数据存入内存,那么它可能会更好.谢谢,
我正在尝试编写一个允许用户将文件上传到我的服务器的表单.我看到Yesod使用fileAFormReq来实现这样的功能但是无法让它工作,遇到编译错误,其中最新的是:"没有实例(RenderMessage MySite t)"任何剥离的示例如何使用它将是非常感谢.谢谢,乌里
我需要使用现有的(MySql)数据库,其中已经定义了表和列的名称.
如果我正确理解文档(并且我没有找到关于这个主题的好文档,那么链接将受到高度赞赏),表名与PersistIdentity相关,因此必须以大写字母开头(事实并非如此)面对).
但是,列名自动取消大写(至少在Yesod书中暗示的内容,持久性章节,在描述自声明自动生成的代码的代码片段中),因此DB中的列必须以小写字母开头.
上面的描述确实如此吗?
我可以具体控制表到标识和列到字段的映射吗?如果没有,则自动应用于命名的规则是什么?因此禁止使用什么名字?
此外,其中一个字段是VARCHAR(30).我如何与Persistent沟通?它目前(通过yesod devel)抱怨说:
errMessage ="没有密钥长度的密钥规范中使用的BLOB/TEXT列'my_field'"
这是自动迁移的结果(我可能应该禁用它).但是,如果我想声明一个有界的VARCHAR字段 - 我可以通过Persistent及其自动迁移工具来实现吗?
谢谢,
我试图使Vector.Generic.Vector成为其他类型类的实例(在我的情况下 - Functor).
我可以满足于向Vector.Unboxed.Vector添加一个Functor实例,但我无法弄清楚它的语法.我最好的尝试是尝试类似的东西:
instance (U.Unbox a, U.Unbox b) => Functor U.Vector where
fmap = U.map
Run Code Online (Sandbox Code Playgroud)
但编译器(恰当地)抱怨'a'和'b'在'=>之后无处可去.我是否可以为Functor定义这个定义,因为它假设对fmap允许的类型有更多限制?
我在SO中发现的大多数东西都太先进了,所以请温柔:-)
我需要能够自动将文件和一些相关数据上传到我的Yesod服务器.我认为最好的方法是使用输入表单.
但是,输入表单似乎不允许文件字段.
谢谢,
我需要创建类似以下JSON实体的东西:
{
"foo": function() { *some code* }
}
任何常见的JSON库(json,jsonb,aeron等)都能轻松实现吗?我没有找到一种方法告诉库在编码时不引用函数部分.
谢谢,
ps我明白不允许这样使用的原因是强制执行正确的语法,但我愿意冒这个风险.