Haskell持久:UPSERT更新列表字段

问题描述 投票:0回答:0

然后,如果还没有,我想用尽一个新人,否则我想更新列表以在新记录中包含int号码。我写了这个小测试:

test_experiment :: IO ()
test_experiment = do
let p1 = [PersonTest "Dan" [1,2]
          ,PersonTest "Jo" []
          ,PersonTest "Dan" [4]] -- This triggers an update
    upse = (\pl -> runSqlite "dbe.sqlite" $ do
                   runMigration migrateAll
                   mapM_ (\p -> upsert p [PersonTestListi +=. p.personTestListi]) pl )
upse p1 

当我运行此操作时,我会收到运行时错误:

PasperistmarshalError“ getby:无法从表
listi

中解析字段。检查您的数据库架构是否匹配您的持久模型定义。”

我做错了什么?我的印象是得到了支持?

有解决方法吗?
	
SQLITE不支持数组,这就是为什么您会看到该错误消息。我确认这没有数组:

person_test

解决此问题的一种方法是使用持续的Aeson支持使用JSON的序列化。

database haskell yesod
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.