Fokusas
Fokusas

Reputation: 11

Cannot initialize flyway{} in build.gradle

So i trying to run gradle flywayBaseline but for this i can't add flayway {} into my build.gradle file. I use this example: https://flywaydb.org/documentation/gradle/baseline

And getting error when trying to import dependencies:

Could not find method flyway() for arguments [build_d9mmyeyovtxo4kagvgy2moniq$_run_closure4@6de8bf0c] on root project 'test' of type org.gradle.api.Project.

There is my build.gradle file:

plugins {
    id 'java'
    id 'idea'
}

repositories {
    mavenCentral()
    jcenter()
}

group = 'com.test'
version = '1.0.0'
sourceCompatibility = '11'

dependencies {
    /*Springboot dependencies*/
    implementation group: 'org.springframework.boot', name: 'spring-boot', version: '2.2.5.RELEASE'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version: '2.2.5.RELEASE'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.2.5.RELEASE'
    implementation group: 'io.spring.gradle', name: 'dependency-management-plugin', version: '1.0.9.RELEASE'

    /*Database dependencies*/
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '2.2.5.RELEASE'
    implementation group: 'com.oracle.ojdbc', name: 'ojdbc10', version: '19.3.0.0'
    implementation group: 'com.h2database', name: 'h2', version: '1.4.200'
    implementation group: 'org.flywaydb', name: 'flyway-core', version: '6.3.0'

    /*Lombok*/
    implementation group: 'org.projectlombok', name: 'lombok', version: '1.18.12'
    annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.12'

    implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.7.0'

    implementation group: 'junit', name: 'junit', version: '4.12'

    implementation group: 'com.google.guava', name: 'guava', version: '28.2-jre'

    implementation group: 'org.modelmapper', name: 'modelmapper', version: '2.3.6'

    testImplementation(group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.2.5.RELEASE') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.6.0'
}

test {
    useJUnitPlatform()
}


flyway {
    url = 'jdbc:h2:mem:mydb'
    user = 'myUsr'
    password = 'mySecretPwd'
    schemas = ['schema1', 'schema2', 'schema3']
    placeholders = [
            'keyABC': 'valueXYZ',
            'otherplaceholder': 'value123'
    ]
}

application.properties file i using for connection:

logging.level.org.org.springframework=DEBUG
server.port=8080

spring.h2.console.enabled=true
spring.h2.console.path=/h2

spring.datasource.url=jdbc:h2:file:~/spring-boot-demo
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver

Using Gradle version 6.2.1

SprintBoot 2.2.5.RELEASE

IntelliJ IDEA 2019.3.3

Upvotes: 1

Views: 2040

Answers (1)

Nikem
Nikem

Reputation: 5784

You have to apply Flyway plugin to your gradle build, as said here: https://flywaydb.org/documentation/gradle/

Upvotes: 1

Related Questions