Hi Mua,

I probably would setup the Flyway codebase and determine what is causing
the error. Your error log has enough details to get started. i.e a
breakpoint at
>> error at
org.flywaydb.core.internal.database.base.Database.ensureDatabaseIsRecentEnough(Database.java:156)
should help you debug and figure of the issue. Once you have this
information, you can determine if the fix is needed in Flyway or Drizzle
(which is also a relatively small Java codebase).

Regards,
Vishwas


On Thu, Mar 21, 2019 at 8:47 AM Mua Rachmann <[email protected]> wrote:

> Hi Vishwas,
>
> Just got feedback from the flyway team support and it is said they support
> only MySQL officially
> See here -
> https://github.com/flyway/flyway/issues/2332#issuecomment-475271342
>
> Now drizzle is no longer maintained like you said.
>
> Any suggestions on how to proceed. This could be a long term fix on my end.
>
> Regards Mua.
>
>
> On Thu, Mar 21, 2019 at 5:09 AM Vishwas Babu <
> [email protected]> wrote:
>
> > Mua,
> >
> > Regarding https://github.com/flyway/flyway/issues/2332
> >
> > The issue isn't strictly related to the version of the MySQL server,
> rather
> > the driver used. Please provide any other relevant information that would
> > help the Flyway folks determine the root cause. At the minimum
> > -> Mention that you do not get this issue with MySQL connector, MariaDB
> > driver etc and are only facing the issue with drizzle driver (version
> > details etc)
> > -> Mention that the same worked with a previous version of Flyway
> (version
> > X.X) and broke after you upgraded to this version.
> >
> > Since this would most likely be a very low priority issue for Flyway,
> they
> > might not provide a fix for the same. However, you could ask them to help
> > you identify the section of the codebase which is throwing the error and
> > possibly make a fix yourself.
> >
> > >> would love to take up another issue if permitted as the response from
> > the flyway team may slow me down
> > Of course, please feel free to pick up any issue that interests you :)
> >
> > Some issues
> > - > https://jira.apache.org/jira/browse/FINERACT-728
> > - > https://jira.apache.org/jira/browse/FINERACT-726
> >
> >
> > Regards,
> > Vishwas
> >
> >
> >
> > On Wed, Mar 20, 2019 at 7:30 PM Mua Rachmann <[email protected]>
> > wrote:
> >
> > > Hi Vishwas,
> > >
> > > Thanks for your reply. I used mysql-connector in my PR here and it
> works
> > > fine but seems to be GPL licence which is not
> > > compatible with ASF. From all indications the flyway tasks will fail if
> > > gradle is upgraded.
> > >
> > > I did as you said and filed an issue on the flyway repo here -
> > > https://github.com/flyway/flyway/issues/2332
> > > They replied and i hope a solution will spring forth.
> > >
> > > As for the mysql-connector driver. All i have come across is not
> > compatible
> > > with ASF licence. I am still
> > > searching though.
> > >
> > > I would love to take up another issue if permitted as the response from
> > the
> > > flyway team may slow me down
> > >
> > > All issues i have taken so far depends on gradle to be upgraded that is
> > > why.
> > >
> > > Regards Mua
> > >
> > > On Tue, Mar 19, 2019 at 11:03 PM Vishwas Babu <
> > > [email protected]> wrote:
> > >
> > > > Hi Mua,
> > > >
> > > > This topic was discussed earlier at
> > > >
> > > >
> > >
> >
> https://lists.apache.org/thread.html/2d84501386e0479e9016e3c6cbbaafbcea0aa1afdff6f19caadc8658@%3Cdev.fineract.apache.org%3E
> > > > .
> > > >
> > > > Here's the relevant snippet with details of alternatives for
> > > > TaskInternal.execute()
> > > >
> > > > Details of a quick fix I attempted to work around the removed
> > > > TaskInternal.execute() method follow.
> > > >
> > > > Using finalizedBy instead of execute ( i.e
> > > migrateTenantListDB.finalizedBy
> > > > flywayMigrate) led to the error "Could not get unknown property
> > > > 'classesDir' for integration test classes of type
> > > > org.gradle.api.internal.tasks.DefaultSourceSetOutput". This was fixed
> > by
> > > > upgrading flyway plugin to.
> > > >
> > > > apply plugin: 'org.flywaydb.flyway'
> > > > dependencies {
> > > > classpath
> > > > "gradle.plugin.com.boxfuse.client:gradle-plugin-publishing:5.2.4"
> > > > }
> > > > }
> > > >
> > > > However, this does not seem to work with the current drizzle driver
> on
> > > the
> > > > classpath (results in the error "MySQL upgrade required: MySQL 0.1 is
> > > > outdated and no longer supported by Flyway. Flyway currently supports
> > > MySQL
> > > > 5.1 and newer"). It runs without issues if I swap in a MySQL driver
> > > though.
> > > >
> > > >
> > > > So, the work for completing the gradle upgrade is blocked due to the
> > > issue
> > > > with the drizzle driver (at
> > > > https://github.com/krummas/DrizzleJDBC/blob/master/LICENSE.txt),
> which
> > > is
> > > > no longer maintained.  We cannot change the driver to MySQL connector
> > etc
> > > > due to licensing issues (GPL v2 used by the driver is not compatible
> > with
> > > > the Apache license). The other popular alternative i.e MariaDB
> > connector
> > > > uses an LGPL license, is also not compatible with Apache license.
> > > >
> > > > Here are some things we could explore
> > > >
> > > > -> Raise an issue with https://github.com/flyway/flyway and explore
> > the
> > > > fix
> > > > needed to be made for this error i.e "MySQL upgrade required: MySQL
> 0.1
> > > is
> > > > outdated and no longer supported by Flyway. Flyway currently supports
> > > MySQL
> > > > 5.1 and newer" when using Drizzle driver.
> > > > This error message seems wrong since the MySQL version we are using
> is
> > > > greater than 5.1
> > > > -> (Long term solution) Find another MySQL driver using a permitted
> > > licence
> > > > (BSD , MIT etc. permitted licenses at
> > > > https://www.apache.org/legal/resolved.html#category-a)
> > > >
> > > > Regards,
> > > > Vishwas
> > > >
> > > > On Mon, Mar 18, 2019 at 7:38 AM Mua Rachmann <[email protected]>
> > > > wrote:
> > > >
> > > > > Hello everyone,
> > > > >
> > > > > Trust you are all well. I have been working on MIcheal's PR to
> > upgrade
> > > > the
> > > > > gradle to 5.2.1 here - https://github.com/apache/fineract/pull/525
> > > > >
> > > > > Currently I upgraded the flyway plugin of which i found a
> compatible
> > > > mysql
> > > > > connector (mysql-connector 8.0.12) which makes it possible to
> migrate
> > > the
> > > > > sql files with some few warnings of which i handled in the PR. see
> > > here -
> > > > > https://github.com/apache/fineract/pull/550
> > > > >
> > > > > For some reasons I don't know why the migrations perform the same
> > > > stuffs.I
> > > > > would love for someone to please review and tell me what i am doing
> > > > wrong.
> > > > >
> > > > > Also due to the execute() method being removed in gradle 5. I keep
> on
> > > > > getting this error when i run any command like ./gradlew
> > flywayMigrate,
> > > > > ./gradlew tomcatRunWar. See sample here -
> > > https://pastebin.com/VfyGXG9j
> > > > >
> > > > > I would love to know how to make the default execute() functions in
> > the
> > > > > build.gradle file work thanks
> > > > >
> > > > > Best regards, Mua
> > > > >
> > > >
> > >
> >
>

Reply via email to