gpt4 book ai didi

playframework - Play Framework -SQLite:启用外键

转载 作者:行者123 更新时间:2023-12-03 19:43:32 28 4
gpt4 key购买 nike

我在将SQLite与play一起使用时遇到问题,SQLite文档说foreign keys are disabled by default, and need to be enabled with each connection

我在Ebean中使用SQLite,在进化中我添加了以下代码:

PRAGMA foreign_keys = ON;


但它不起作用,仅当我从终端或SQLite客户端打开连接并执行该行( PRAGMA foreign_keys = ON;)时才起作用,我也在应用程序的开头尝试了此操作,但没有运气:

Ebean.getServer("mom").createSqlUpdate("PRAGMA foreign_keys = ON;").execute();


那么,如何启用外键?

最佳答案

您不能通过演进来做到这一点,因为PRAGMA是连接而不是数据库。

出于类似原因,在启动时调用SQL不会起作用:它将仅对您恰巧在其上运行查询的池中的连接启用PRAGMA

您需要为每个正在使用的连接执行此操作。

根据the JDBC documentation of Play Framework,可以通过配置连接池为PRAGMA文件中的每个新连接执行application.conf来实现此目的:

db.default.initSQL="PRAGMA foreign_keys = true"


您可以将连接/服务器名称 default替换为 mom或配置JDBC连接的方式。

关于playframework - Play Framework -SQLite:启用外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25740910/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com