Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Play Framework:如何更正evolution脚本中的SQL语法错误?_Mysql_Playframework_Slick_Typesafe Activator_Playframework Evolutions - Fatal编程技术网

Mysql Play Framework:如何更正evolution脚本中的SQL语法错误?

Mysql Play Framework:如何更正evolution脚本中的SQL语法错误?,mysql,playframework,slick,typesafe-activator,playframework-evolutions,Mysql,Playframework,Slick,Typesafe Activator,Playframework Evolutions,我刚刚添加了一个SQL文件,以便在我的进化脚本的数据库中创建一个新表。不小心,我的SQL脚本中有一个输入错误。然后,我通过activator启动了我的Play webapp,配置设置为applyEvolutions.default=true。因此,当我运行我的webapp时,它会因为SQL语法错误和数据库不一致而抱怨 我纠正了语法错误,但是不知何故,播放/进化/激活器没有考虑到我的修正。它仍然希望执行错误且未更正的SQL脚本版本。这是显而易见的,因为它引用了未更正版本中的语法错误。我如何让Pla

我刚刚添加了一个SQL文件,以便在我的进化脚本的数据库中创建一个新表。不小心,我的SQL脚本中有一个输入错误。然后,我通过activator启动了我的Play webapp,配置设置为
applyEvolutions.default=true
。因此,当我运行我的webapp时,它会因为SQL语法错误和数据库不一致而抱怨

<>我纠正了语法错误,但是不知何故,播放/进化/激活器没有考虑到我的修正。它仍然希望执行错误且未更正的SQL脚本版本。这是显而易见的,因为它引用了未更正版本中的语法错误。我如何让Play接受我更正的SQL脚本

此外,Play会显示以下错误消息:

play.api.db.evolutions.InconsistentDatabase: 
Database 'default' is in an inconsistent state!
[An evolution has not been applied properly.

我使用最新的Play、Evolution和MySQL版本。

我发现我的问题的答案已经在官方文档中:

在数据库上运行修复SQL命令,然后标记此问题 通过单击按钮手动解决

但由于您的进化脚本有错误,您可能需要修复 信息技术因此,您需要修改sql evolutions脚本

Play检测到这一新的进化取代了以前的进化,并且 将运行相应的脚本。现在一切都修好了,你可以 继续工作


如果您是初学者,请简化您的工作,不要使用进化。只需更新您的数据库模型并进行编码。就像这样。我只是想知道这样一个基本的操作是不可能的?你可能需要遵循以下步骤:1)将数据库错误标记为手动修复(当你尝试导航到你的应用程序时,会有一个按钮使你能够这样做)2)在注意
DOWNS
部分的同时修复脚本,3)尝试使用更正后的脚本重新启动应用程序。