如何在 Yesod 应用程序中的 GHCi 中执行数据库查询

2023-11-29

例如,如何使用 Yesod 应用程序的模型将新用户插入数据库?或者,还有更好的方法?

我正在处理脚手架应用程序。现在我创建了App实例,但不知道如何使用它执行请求。

:i Extra
data Extra
  = Extra {extraCopyright :: Data.Text.Internal.Text,
           extraAnalytics :: Maybe Data.Text.Internal.Text}
        -- Defined in `Settings

let e = Extra "asdf" Nothing
let c = AppConfig {appEnv = Development, appPort = 3000, appRoot = "/", appHost = "localhost", appExtra = e}
f <- makeFoundation c
:t f
f :: App

:i App
data App
  = App {settings :: AppConfig DefaultEnv Extra,
         getStatic :: Yesod.Static.Static,
         connPool :: persistent-1.2.3.0:Database.Persist.Class.PersistConfig.PersistConfigPool
                       PersistConf,
         httpManager :: http-client-0.2.0.1:Network.HTTP.Client.Types.Manager,
         persistConfig :: PersistConf,
         appLogger :: Yesod.Core.Types.Logger}
        -- Defined in `Foundation'

接下来是什么?


如果您只想在 ghci 中执行持久查询,则无需创建 Yesod 应用程序即可执行此操作。不幸的是,根据您想要使用的特定后端,这样做有很大不同。

对于 SQLite:

> import Database.Persist.Sqlite
> import Model
> pool <- createSqlitePool "yesod-test.sqlite3" 2
> runSqlite "yesod-test.sqlite3" (runMigration migrateAll)
> userId <- runSqlite "yesod-test.sqlite3" (insert (User "[email protected]" Nothing))

对于 PostgreSQL:

-- In Shell: $ createdb yesod-test
> import Database.PostgreSQL.Simple
> con <- connectPostgreSQL  "dbname=yesod-test"
> import Database.Persist.Postgresql
> pcon <- openSimpleConn con
> import Model
> runSqlPersistM (runMigration migrateAll) pcon
> userId <- runSqlPersistM (insert (User "[email protected]" Nothing)) pcon
> Just user <- runSqlPersistM (get userId) pcon
> userIdent user
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Yesod 应用程序中的 GHCi 中执行数据库查询 的相关文章

  • 在 Haskell 中提升 State monad 中的值

    我正在 Haskell 中编写一个数独生成器 求解器作为学习练习 My solve函数接受一个UArray但返回一个State Int UArray 这样它也可以返回解决问题时发现的最大难度级别 到目前为止 这是我的功能 仍处于实验性的早期
  • 在 Haskell 中阅读 GraphML

    我正在尝试将包含单个有向图的 GraphML 文件读入 HaskellData Graph http hackage haskell org package containers 0 2 0 1 docs Data Graph html为了
  • 是否可以列出派生 Generic 的记录数据类型中字段的名称和类型?

    我知道对于派生 Data Data 的数据类型 constrFields http hackage haskell org package base 4 7 0 2 docs Data Data html v constrFields给出字
  • 如何在 Haskell 中获得列表的中间位置?

    我刚刚开始使用 Haskel 学习函数式编程 我正在慢慢度过Erik Meijer 在 Channel 9 的讲座 http channel9 msdn com shows Going Deep Lecture Series Erik Me
  • 显示未定义的实例

    可以采取任何措施来为未定义的值定义 Show 实例吗 也许存在一些 GHC 扩展 我想要这样的东西 gt print 1 undefined 1 undefined 根据Haskell 2010 报告 第 9 章 http www hask
  • Haskell 中函数和函子有什么区别?只有定义吗?

    在 Haskell 中 当编写函数时 这意味着我们将某个东西 输入 映射到另一个东西 输出 我尝试 LYAH 来理解 Functor 的定义 看起来和普通 Functor 一样 函数被称为函子有什么限制吗 Functor 是否允许有 I O
  • 如何使用 Haskell 中的 thyme 库从 Int 值创建 UTCTime?

    我有年 月 日 小时和分钟值 所有这些都是类型Int 我怎样才能将它们转换为UTCTime or UniversalTime 需要导入以下内容 import Control Lens import Data Thyme Clock impo
  • 生成所有可能的树

    给定以下数据类型定义 data FormTree Empty Node FormTree FormTree deriving Show 我想编写一个函数 它生成一个无限列表 其中包含按长度排序的所有可能的树 例如节点数量 下面的代码几乎满足
  • 类 GADT 类型变量的未来角色?

    A 昨天的问题 https stackoverflow com q 41135212 3072788有一个定义HList 来自HList https hackage haskell org package HList 0 4 1 0 doc
  • 访问函数中的环境

    In main我可以读取我的配置文件 并将其提供为runReader somefunc myEnv正好 但somefunc不需要访问myEnv读者提供 链中的下一对也没有提供 需要 myEnv 中某些内容的函数是一个微小的叶函数 如何在不将
  • ErrorT 已弃用,但 exceptT 不适合

    我有一个一元计算 在某些时候 由于单子模式匹配 它开始需要 MonadFail 约束 我的简单解决方法是使用以下命令运行它 fmap either error id runErrorT 然而哎呀 Deprecated Use Control
  • 如何让 Show 显示函数名称?

    作为一个让我熟悉 Haskell 的简单练习 在 Youtube 上闲逛并偶然进入美国倒计时游戏节目之后 我想为数字游戏制作一个求解器 你得到 6 个数字 需要将它们与 为了得到给定的结果 到目前为止我所得到的是非常脑死亡的 let ope
  • 在 Haskell 中增长数组

    我想在 Haskell 中实现以下 命令式 算法 给定一个序列对 e0 s0 e1 s1 e2 s2 en sn 其中 e 和 s 部分不一定是自然数不同的是 在每个时间步都会随机选择该序列的一个元素 例如 ei si 并根据 ei si
  • 无点镜头创建不进行类型检查

    在函数中test 我遍历一个列表 从它的成员生成镜头 然后打印一些数据 当我使用有针对性的呼叫风格时 这会起作用 当我使其成为无点时 它无法进行类型检查 为什么会出现这种情况 我该如何解决这个问题 在我看来 GHC 并没有保留排名较高的信息
  • 在 Haskell 中,为什么我必须在这段代码中使用美元符号?

    我仍在尝试破解这段代码 import Data Char groupsOf groupsOf n xs take n xs groupsOf n tail xs problem 8 x maximum map product groupsO
  • 将 num 的签名键入 double?

    我才刚刚开始为你学习 Haskell 以获得伟大的好处 并且我在类型类方面遇到了一些麻烦 我想创建一个接受任何数字类型并强制其为双精度的函数 我的第一个想法是定义 numToDouble Num gt Double 但我认为这不起作用 因为
  • Haskell,堆栈:找到可执行文件

    我正在寻找类似的东西 stack whereis hasktags where whereis行为或多或少类似于 UNIXwhereis命令 hasktags是这样运行的 stack exec hasktags stack exec whe
  • Haskell 中列表列表的笛卡尔积

    给定一个长度列表的列表x所有子列表的长度都相同y 输出y x长度列表x包含每个子列表中的一项 例子 x 3 y 2 1 2 3 4 5 6 Output 2 3 8不同的输出 1 3 5 1 4 5 1 3 6 1 4 6 2 3 5 2
  • Haskell 入门

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 几天来 我一直试图理解 Haskell 中的函数式编程范例 我通过阅读教程和观看截屏视频
  • 如何在 Haskell 中制作打勾游戏的图案?

    实现有 2 个参数的函数 ticktick 第一个参数是自然数元组 定义游戏场地的行数和列数 第二个列表包含由玩家 x 和玩家 o 轮流玩的坐标给出的井字游戏比赛的记录 打印游戏的实际状态 其中游戏区域将由字符 和 界定 空方块 以及字符

随机推荐

  • 如何在 R Shiny 中实现清理例程?

    例如 我的闪亮应用程序可能会打开数据库连接 server R db lt dbConnect SQLite DB PATH shinyServer things involving db 现在 如何确保连接db已正确关闭 通过dbDisco
  • 使用 python 渲染 Latex 文本

    我正在尝试用 python 渲染 Latex 文本 这就是我试图做的 import matplotlib pyplot as plt txte r The emph characteristic polynomial chi lambda
  • 使用 Android Q 拒绝 AndroidAudioConverter 权限

    Android Q 引入了一些有关文件夹 文件权限的重大更改 在 Android 上使用转换器时出现以下错误 java io IOException 无法运行程序 data user 0 com ltcfastpay timecard de
  • 使用请求的响应时间极长

    描述 我有一个运行 Python 应用程序的 AWS ec2 实例 ubuntu 16 其中我调用了一些 Facebook Account Kit API 和 Google Play Store API 它们都工作得很好 直到我两周前重新启
  • 如何从表格单元格(td)中获取相应的表格标题(th)?

    给定下表 我如何获取每个 td 元素对应的表头 table thead tr th Name th th Address th tr thead tbody tr td Bob td td 1 High Street td tr tbody
  • Golang 中的类型转换

    我正在阅读以下文章 https www ribice ba golang enums 代码示例之一中定义了一个函数 func lt LeaveType UnmarshalJSON b byte error Define a secondar
  • 用于文本选择控件的自定义浮动工具栏

    我想自定义选择文本时出现的浮动工具栏 这是标准浮动工具栏的示例 你知道我如何定制它 比如添加粗体 斜体 吗 有外部图书馆吗 Monospace 应用程序正是我想要的 您将向清单中的活动添加一个意图过滤器
  • Flask Postgresql 数组不会永久更新

    我正在开发一个使用 Flask 和 PostgreSQL 数据库以及 SQLAlchemy 的项目 I have Group具有以下列表的对象User属于该组成员的 ID 由于某种原因 当我尝试将 ID 添加到组时 它无法正确保存 如果我尝
  • 谷歌折线图 X 轴上有双标签

    我正在研究谷歌折线图 我想在 x 轴上加双标签 日期明智的过程 我可以使用下面的代码绘制没有日期的图表 但无法填充日期 div style width 100 height 1 div
  • 错误:getaddrinfo ENOTFOUNDregistry.npmjs.orgregistry.npmjs.org:443

    我正在公司网络上工作 正在尝试安装npm 但我一次又一次地收到此错误 npm install npm ERR Windows NT 6 1 7601 npm ERR argv C Program Files nodejs node exe
  • 在 Swift 中声明自引用指针[重复]

    这个问题在这里已经有答案了 这段 Obj C 代码在 swift 中的等价物是什么 我猜测 CMutableVoidPointer 的一些事情 static void CapturingStillImageContext Capturing
  • Nhibernate 通过用户定义的函数输出进行过滤

    我对 NHibernate 相当陌生 到目前为止一切都进展顺利 但我遇到了一个问题 我不太确定如何解决 基本上我需要按用户定义函数的输出进行过滤 如果我用 SQL 编写 我会这样写 declare Latitude decimal decl
  • Coldfusion 8 同时执行 CFIf 和 CFElse 语句

    我正在为电子商务网站制作用户注册应用程序 但我遇到了一个非常奇怪的问题 当我运行这段代码时
  • C++ 中的临时对象确实是 const 吗?

    我一直认为C 中的临时对象会被编译器自动视为const 但最近我经历了以下代码示例 function returning object some non const method 对 C 编译器有效 这让我想知道 C 中的临时对象确实是 c
  • PHP 匿名函数:未定义的变量

    我有这两个 WordPress 功能 wpb set post views function postID count key wpb post views count count get post meta postID count ke
  • Codeigniter 与本地主机 (XAMPP) 中的路径有关的问题

    无论如何 我的代码点火器安装中的索引页面 又名 homepage php 都工作正常 The problem lies with using subdirectories to store other pages currently its
  • android 中网页视图内容闪烁?

    我在用着this用于水平滑动的 lib 检查下面的代码 滑动功能工作正常 但当我直接滑动时 不会在网页视图上显示内容 显示下面的一些图片以了解更多详细信息 在上图之后 当我滑动时 它效果很好 但是当我们想直接进入下一张幻灯片时 就会面临如下
  • 始终显示 AVPlayer 控件

    我有一个 AVPlayerViewController 里面有一个 AVPlayer 我需要的是播放器的控件 播放 暂停 时间滑块 永远不会隐藏 现在 在播放视频大约 4 秒后 它们就会隐藏起来 您必须点击屏幕才能再次显示它们 我无法找到解
  • 当menuItem中使用shiny和shinydashboard的更多功能时,tabItem无法显示内容

    我正在学习闪亮和闪亮的仪表板 我的代码是这样的 library shiny library shinydashboard library DT library RODBC library stringr library dplyr ch l
  • 如何在 Yesod 应用程序中的 GHCi 中执行数据库查询

    例如 如何使用 Yesod 应用程序的模型将新用户插入数据库 或者 还有更好的方法 我正在处理脚手架应用程序 现在我创建了App实例 但不知道如何使用它执行请求 i Extra data Extra Extra extraCopyright