java mysql playframework playframework-2.1

java - Conecte la aplicación de ejemplo "Play-database-jpa" de la aplicación Play 2.1 con MySQL



playframework playframework-2.1 (1)

Encontré la solución - https://github.com/opensas/openshift-play2-computerdb .

La sintaxis utilizada en las secuencias de comandos de evolución no se ajusta a MySQL :

Lista de cambios necesarios para portar la aplicación de muestra de la base de datos de la computadora de H2 a mysql

conf / evolutions / default / 1.sql

  • motor agregado = innodb, para habilitar la integridad referencial
  • secuencias reemplazadas con autoincrement para campos de id.
  • se reemplazó el comando ''SET REFERENTIAL_INTEGRITY'' por ''SET FOREIGN_KEY_CHECKS''
  • reemplazó campos de marca de tiempo con fecha y hora

conf / evolutions / default / 2.sql

  • dividió los datos de la computadora entre los archivos 2.sql y 3.sql (evite errores en las evoluciones que se ejecutan en mysql)

modelos / Modelos.scala

  • eliminado ''nulls last'' de la consulta Computer.list sql
  • Computer.insert modificado para omitir el campo de identificación (porque mysql lo asigna automáticamente)

Como estaba jugando con Java y no con la versión de Scala , tenía que cambiar los archivos Company.java y Computer.java . He agregado la anotación @GeneratedValue :

@Id @GeneratedValue(strategy=GenerationType.IDENTITY) public Long id;

Aquí puede encontrar scripts de evolución modificados: https://github.com/opensas/openshift-play2-computerdb/tree/master/conf/evolutions/default

Estoy jugando con la aplicación de ejemplo de computadora base de datos-jpa (Java) Play Framework 2.1. Todo funciona bien cuando uso H2 en la base de datos de memoria, pero tuve problemas cuando quiero conectar la aplicación con MySQL.

Alguien tenía el mismo problema (la Ayuda quería que la aplicación de muestra estuviera conectada a MySQL ) pero no había solución.

He agregado mysql-connector (Build.scala):

val appDependencies = Seq( .... "mysql" % "mysql-connector-java" % "5.1.18" )

y editado application.conf:

db.default.url="jdbc:mysql://password:user@localhost/my-database" db.default.driver=com.mysql.jdbc.Driver

Cuando inicio las aplicaciones y aplico 1.sql (script de evolución) me sale un error:

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 company_seq start with 1000'' at line 1 [ERROR:1064, SQLSTATE:42000]

¿Alguien tiene una idea de cómo resolver el problema?