gpt4 book ai didi

mysql - 将正在运行的 Play 应用程序部署到 CloudBees 时如何修复 MySQL 语法错误?

转载 作者:行者123 更新时间:2023-11-29 08:25:54 25 4
gpt4 key购买 nike

我有一个非常简单的 Play 应用程序,它演示了 MySQL(而不是默认的 H2)数据库的使用:

https://github.com/ics-software-engineering/play-example-mysql

自述文件解释了使用本地安装的 MySQL 在本地运行应用程序所需的步骤。 在本地运行良好。

我一直在尝试让这个应用程序在 CloudBees 上运行,但没有成功。我的基本策略是:

  1. 使用 CloudBees Play 2 ClickStart 创建示例应用、数据库、存储库和构建系统。
  2. 编辑构建文件以引用我的 github 存储库。
  3. 重建并重新部署。

有关此策略的更完整说明可供使用 here .

当我完成此过程时,系统会构建并部署,但当我尝试检索主页时,在应用程序控制台中出现 MySQL 语法错误:

[ [37minfo [0m] play - database [default] connected at jdbc:mysql://ec2-23-21-211-172.compute-1.amazonaws.com:3306/play-example-mys
[ [31merror [0m] play - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sequence page_retrieval_seq' at line 1 [ERROR:1064, SQLSTATE:42000]
Oops, cannot start the server.
@6f3k8cj6c: Database 'default' is in inconsistent state!
at play.api.db.evolutions.Evolutions$.checkEvolutionsState(Evolutions.scala:177)

这是一个奇怪的错误,因为语法错误“sequence page_retrieval_seq”与数据库为默认数据库(H2)时 Play in 1.sql 生成的行之一非常相似:

create sequence page_retrieval_seq

不幸的是,这一行实际上并不在我的 1.sql 文件中,当我在本地运行系统时,我没有收到此错误。我正在运行 MySQL Ver 14.14 Distrib 5.6.12,适用于 osx10.7 (x86_64)。

我认识到,对于生产用途,启用自动进化是不可取的,但这不是我想在这里解决的问题。我的目标是让 CloudBees 应用程序提供最新工作版本代码的快照,并让演进在 CloudBees MySQL 上工作,就像它们在我的本地 MySQL 安装上工作一样。

我已尝试 this answer 中概述的步骤但它在 CloudBees 上不起作用,而且无论如何我当前的代码已经可以在本地安装的 MySQL 上正常工作。

为什么我的简单 Play 应用程序无法在 CloudBees 上正确部署?如何修复它?

最佳答案

在“生产模式”下运行游戏时,当涉及 ebean 时,游戏运行演化似乎会出现问题

https://github.com/playframework/playframework/issues/1410

我已经测试过进化,只要不使用 ebean,它们甚至可以在生产模式下工作。

无论如何,在生产应用程序中运行进化都是不可取的,这可能就是为什么直到现在才发现这个错误的原因。

我更新了文档:https://developer.cloudbees.com/bin/view/RUN/Playframework包含有关从任何地方连接到数据库的信息,因此您可以从桌面或 Jenkins 等运行演化。

因此,以更接近 play 框架生产模式的方式运行,运行“play start”来亲自查看此行为。

此外,JPA 似乎对 ORM 有更广泛的用途:https://github.com/typesafehub/play-spring-data-jpa

关于mysql - 将正在运行的 Play 应用程序部署到 CloudBees 时如何修复 MySQL 语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937271/

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