Play Framework 2.2.2 evolutions do not start in mysql

In the todo app sample in the documentation for playback, creating a task table using mysql did not create evolution. I tried to use

applyEvolutions.default=true

in application.conf. Even tried to run the application using

start -DapplyEvolutions.default=true 

The mysql query was not a problem either, because manually entering it inside the mysql console made it work correctly. There were no problems with the db connection either, because after manually creating the table, the insert and delete operations worked fine from the application.

for further use application.conf here

    # This is the main configuration file for the application.
# ~~~~~

# Secret key
# ~~~~~
# The secret key is used to secure cryptographics functions.
# If you deploy your application to several instances be sure to use the same key!
application.secret="PwleF1NyxkZ[8Oq`j`^NMg:6Vu6MMiHv?s:Ff>3@VpiKfA^9qSvb/E_>5[BRq>h6"

# The application languages
# ~~~~~
application.langs="en"

# Global object class
# ~~~~~
# Define the Global object class for this application.
# Default to Global in the root package.
# application.global=Global

# Router
# ~~~~~
# Define the Router object to use for this application.
# This router will be looked up first when the application is starting up,
# so make sure this is the entry point.
# Furthermore, it assumed your route file is named properly.
# So for an application router like `my.application.Router`,
# you may need to define a router file `conf/my.application.routes`.
# Default to Routes in the root package (and conf/routes)
# application.router=my.application.Routes

# Database configuration
# ~~~~~
# You can declare as many datasources as you want.
# By convention, the default datasource is named `default`
#
# db.default.driver=org.h2.Driver
# db.default.url="jdbc:h2:mem:play"
# db.default.user=sa
# db.default.password=""

# Evolutions
# ~~~~~
# You can disable evolutions if needed
# evolutionplugin=disabled
applyEvolutions.default=true

DapplyDownEvolutions.default=true

# Logger
# ~~~~~
# You can also configure logback (http://logback.qos.ch/),
# by providing an application-logger.xml file in the conf directory.

# Root logger:
logger.root=ERROR

# Logger used by the framework:
logger.play=INFO

# Logger provided to your application:
logger.application=DEBUG

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/sql_test"
db.default.user="testuser"
db.default.pass=""

and here 1.sql

# Tasks schema

# --- !Ups

CREATE TABLE task (
    id int NOT NULL AUTO_INCREMENT,
    label varchar(255),
    PRIMARY KEY (ID)
);

# --- !Downs


DROP TABLE task;
+4
source share
2 answers

:

(1.sql, 2.sql ..) conf/evolutions/default/, , application.conf.

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/sql_test"
db.default.user="testuser"
db.default.pass=""

, , application.conf, evolutionplugin

evolutionplugin=enabled
applyEvolutions.default=true
applyDownEvolutions.default=true

. DapplyDownEvolutions application.conf

-, :

  • ?
  • ? , , play_evolutions.
  • "testuser", , CREATE

, .

+7

, ,

libraryDependencies += evolutions

build.sbt, .

:

+4

Source: https://habr.com/ru/post/1531994/


All Articles