gpt4 book ai didi

java - 本地和原始 reposin git 之间没有区别。但是当别人克隆该项目时,在H2DB中找不到该表?

转载 作者:行者123 更新时间:2023-12-02 03:38:03 26 4
gpt4 key购买 nike

我正在使用 play Framework 2.4 和 java 来开发 Web 应用程序,并且我在项目中包含了嵌入式 H2 DB 文件。该文件包含在名为“db”的单独文件夹中。我必须使用 gitforce add 将此文件添加到 git,因为 git 会忽略此文件夹中的内容。该代码在我的本地计算机上运行良好,在我从原点拉取后,它说已经是最新的(我的本地存储库和原点中的存储库之间没有区别)。但是当其他人克隆并运行这个项目时,它说在数据库中找不到表“SOMENAME”(数据库连接正常)。并且也找不到该克隆项目和原始存储库之间的任何区别。但是当我将本地计算机中的项目复制到该计算机时,它运行没有问题。我真的很困惑,这个问题的原因可能是什么?两台机器使用相同的游戏版本和相同的操作系统。

最佳答案

我也有同样的经历。在play版本1.4之后,当您尝试连接到h2 db时,它会自动创建mv db。然后它读取这个空的 mv 数据库,而不是您的 h2 数据库。这就是为什么它说找不到你的 table 。不显示原始存储库和克隆存储库之间的任何差异的原因是 db 文件夹中的内容被 git 忽略。创建mv db后,mv db会被git忽略。您可以将“IFEXISTS=TRUE”添加到数据库 URL。然后,仅当数据库存在时,Ebean 才会连接到数据库。通过这样做,您可以避免自动创建 mv db。

关于java - 本地和原始 reposin git 之间没有区别。但是当别人克隆该项目时,在H2DB中找不到该表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37200882/

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