Hi Bharath

This issue was discussed under 
https://issues.apache.org/jira/browse/FINERACT-980 
<https://issues.apache.org/jira/browse/FINERACT-980>

Basically Flyway does not know how to upgrade an existing Fineract database 
using Drizzle JDBC driver. It does know how to create a new one though.

So for your local set-up you have two choices:

- Delete your databases and start from scratch. In such case Drizzle should be 
able to create the latest database version. This is what happens on the 
integration test server every time we run a build, so that clearly works. But 
of course you lose any data you have in your database.

- Change your local set-up to use a more up-to-date JDBC driver. One choice is 
the MySQL Connector/J. You can find instructions on how to switch to that at 
the bottom of the docker-compose.yml file. 

Hope this helps!

Regards
Petri


> On 6 Oct 2020, at 9:20 PM, Bharath Gowda <bgo...@mifos.org> wrote:
> 
> Hi Petri,
> 
> Appreciate your efforts in helping to resolve this issue.
> 
> Recently, I have been struggling with running Fineract WAR on Tomcat 9.0.38 
> on my Windows Machine
> 
> I have followed all the steps properly which you had listed in this thread
> 1. Install MySQL and Tomcat
> 2. Build Fineract WAR from the latest develop branch: ./gradlew clean bootWar
> 3. Create tenants database:  ./gradlew createDB -PdbName=fineract_tenants
> 4. Create default tenant database:  ./gradlew createDB 
> -PdbName=fineract_default
> 5. Deploy Fineract WAR on Tomcat using manager webapp 
> (http://localhost:8080/manager/html <http://localhost:8080/manager>)
> 
> I am stuck with error 
> "org.flywaydb.core.internal.exception.FlywayDbUpgradeRequiredException: MySQL 
> upgrade required: MySQL 0.1 is outdated and no longer supported by Flyway. 
> Flyway currently supports MySQL 5.1 and newer."
> 
> With some digging got to know about a similar issue around 6 months ago and 
> something to do with drizzle jdbc driver, but I am not able to get this 
> resolved on my local, any help would be greatly appreciated.
> I have attached my log for reference
> 
> Would really be great if anyone else too could help me who knows about this 
> issue.
> 
> 
> Regards,
> Bharath
> Lead Implementation Analyst | Mifos Initiative
> Skype: live:cbharath4| Mobile: +91.7019635592
> http://mifos.org <http://mifos.org/>  <http://facebook.com/mifos>  
> <http://www.twitter.com/mifos>
> 
> 
> On Tue, Oct 6, 2020 at 11:36 PM Petri Tuomola <pe...@tuomola.org 
> <mailto:pe...@tuomola.org>> wrote:
> All
> 
> Looking at the log file shared by Tube, turns out that he has stumbled on 
> quite an interesting problem: 
> 
> It seems that you can’t run Fineract on a machine that is not connected to 
> the internet. 
> 
> I think the duplicate index error was relating to a corrupt MySQL instance. 
> After that’s fixed, the following error remains:
> 
> org.springframework.beans.factory.parsing.BeanDefinitionParsingException: 
> Configuration problem: Failed to import bean definitions from relative 
> location [securityContext.xml]
> Offending resource: URL 
> [file:/usr/local/Cellar/tomcat/9.0.38/libexec/webapps/fineract-provider/WEB-INF/classes/META-INF/spring/appContext.xml];
>  nested exception is 
> org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 
> 223 in XML document from URL 
> [file:/usr/local/Cellar/tomcat/9.0.38/libexec/webapps/fineract-provider/WEB-INF/classes/META-INF/spring/securityContext.xml]
>  is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 
> 223; columnNumber: 63; cvc-complex-type.2.4.c: The matching wildcard is 
> strict, but no declaration can be found for element 
> 'oauth:authorization-server’.
> 
> I can reproduce this by simply unplugging the network cable from my own 
> machine. It seems that our JAR/WAR does not include some xsds needed to 
> validate the XML config files. If the machine used is connected to the 
> internet, these are downloaded automatically - but if not, Fineract does not 
> start.
> 
> Given these are related to Spring Security, I wonder if this will be fixed by 
> upgrading the Spring Security JARs? 
> 
> Anyway - I’ll log a JIRA for this, but thought I’d share it for your 
> information/entertainment...
> 
> Regards
> Petri
> 
>> On 6 Oct 2020, at 7:24 PM, Petri Tuomola <pe...@tuomola.org 
>> <mailto:pe...@tuomola.org>> wrote:
>> 
>> Hi Tube - that all looks OK. 
>> 
>> Doing ./gradlew just means running the gradlew in the current directory on 
>> UNIX-like OS, as typically you would not have current directory in your PATH.
>> 
>> Can you send me (petri.tuom...@gmail.com <mailto:petri.tuom...@gmail.com>) 
>> your full Tomcat log file please. Maybe I can see what’s going wrong 
>> somewhere earlier. Not just the section with the error, but the entire file 
>> please. 
>> 
>> Regards
>> Petri
>> 
>>> On 6 Oct 2020, at 7:15 PM, ጓይላና Tube <eminemme...@gmail.com 
>>> <mailto:eminemme...@gmail.com>> wrote:
>>> 
>>> hi.
>>> Petri Tuomola thank you for your response. here are the list of commands i 
>>> have followed to build fineract.
>>> 1.install mysql version 5.7 and Tomcat version 9 2.
>>> 2. i have created tenants database using  gradlew createDB 
>>> -PdbName=fineract_tenants command
>>> 3. i have created Created default tenant database using  gradlew createDB 
>>> -PdbName=fineract_default command
>>> 4. i have created fineract War using gradlew clean bootwar command
>>> 5. deploy created war file inside Tomcat/Webapps.
>>> 
>>> But, is there any difference between  gradlew clean bootwar and ./gradlew 
>>> clean bootwar? because when i run ./gralew clean bootwar command am getting
>>> an error message '.' is not recognized as an internal or external command
>>> 
>>> Regards 
>>> 
>>> 
>> 
> 
> <catalina.2020-10-06.log>

Reply via email to