Hi guys,

Just doing a follow-up on this topic. Aleks has started the release process
for 1.6.0 which means 1.7.0 things are ready to be merged into develop.
Is there a chance some of you could review the Liquibase change PR? Just
for the record, here it is: https://github.com/apache/fineract/pull/2030

Thanks!
Best,
Arnold

On Fri, Feb 11, 2022 at 9:38 AM Arnold Galovics <galovicsarn...@gmail.com>
wrote:

> Hi Petri,
>
> Sure thing.
>
> As I wrote in the first email, one of the major motivations towards
> Liquibase is the ability to seamlessly support multiple databases in terms
> of schema creation and initial data inserts. This gets extremely important
> if Fineract will support for example PostgreSQL in addition to the current
> MySQL support.
>
> Unfortunately MySQL and PostgreSQL have differences in how to do those
> things in certain cases and with plain SQL, it could be cumbersome to
> maintain 2 types of SQL scripts, one for MySQL and one for PostgreSQL.
>
> With Liquibase we can forget about plain SQL for schema management and use
> a generic format that applies to multiple databases. However, if there's a
> need of using a plan SQL, we can do that too in Liquibase but with a more
> robust solution (using different contexts to apply certain parts of the
> changesets).
>
> Plus, there are a couple other benefits which I don't want to copy paste
> here: https://www.liquibase.com/liquibase-vs-flyway
> Although, I've gotta say Liquibase preconditions make database schema
> migrations really easy. I've used them quite extensively on other projects
> and saved a lot of time when switching back and forth between service
> versions.
>
> Does that make sense?
>
> Best,
> Arnold
>
> On Fri, Feb 11, 2022 at 1:21 AM Petri Tuomola <pe...@tuomola.org.invalid>
> wrote:
>
>> Hi Arnold
>>
>> Looks like a smooth transition. Can you share what are the benefits we
>> should expect to get from Liquibase over Flyway?
>>
>> Cheers
>> Petri
>>
>> On Fri, Feb 11, 2022, 03:14 Arnold Galovics <galovicsarn...@gmail.com>
>> wrote:
>>
>>> Hi everybody,
>>>
>>> Just wanted to let you know that the PR is ready for the Flyway to
>>> Liquibase change. https://github.com/apache/fineract/pull/2030
>>> The change is planned to be included only in 1.7 and not targeted for
>>> 1.6.
>>>
>>> I'd like to assure everybody that the forward upgrade is going to be
>>> fully automatic from Fineract 1.6 to Fineract 1.7, there's no need for
>>> manual changes.
>>>
>>> The automatic upgrade works in 3 different ways depending on the
>>> scenario:
>>> - If the database is completely empty, it's going to apply all
>>> changesets from the Liquibase changelogs
>>> - If the database contains the changes from the last Flyway migration
>>> scripts included in Fineract 1.6. In that case, a seamless upgrade is going
>>> to happen to Liquibase
>>> - If the database contains Flyway changes but it's not running the
>>> latest migration scripts from 1.6 - i.e. the Fineract version being ran is
>>> pre-1.6. In that case the application startup will fail, notifying the
>>> operator in the logs that first they shall upgrade to 1.6 and then to 1.7
>>>
>>> Let me know if you have any thoughts on the changes.
>>>
>>> Best,
>>> Arnold
>>>
>>> On Tue, Feb 8, 2022 at 3:33 PM VICTOR MANUEL ROMERO RODRIGUEZ <
>>> victor.rom...@fintecheando.mx> wrote:
>>>
>>>> Alberto,
>>>>
>>>> Can you share your thoughts?
>>>>
>>>> Regards
>>>>
>>>> Victor
>>>>
>>>>
>>>>
>>>> El mar, 8 feb 2022 a las 4:19, Aleksandar Vidakovic (<
>>>> chee...@monkeysintown.com>) escribió:
>>>>
>>>>> ... YAML, XML or JSON... all good for me... in the end very easy to
>>>>> transform with Jackson in a one liner if someone needs a different
>>>>> format...
>>>>>
>>>>> So, have no preference here... let's see what the community has
>>>>> to say...
>>>>>
>>>>> Cheers
>>>>>
>>>>> On Tue, Feb 8, 2022 at 10:56 AM Arnold Galovics <
>>>>> galovicsarn...@gmail.com> wrote:
>>>>>
>>>>>> Hi Aleks,
>>>>>>
>>>>>> Good to know.
>>>>>>
>>>>>> Any preference for YAML versus XML format?
>>>>>>
>>>>>> Best,
>>>>>> Arnold
>>>>>>
>>>>>> On Tue, Feb 8, 2022 at 10:43 AM Aleksandar Vidakovic <
>>>>>> chee...@monkeysintown.com> wrote:
>>>>>>
>>>>>>> Hi Arnold,
>>>>>>>
>>>>>>> ... personally, I am looking forward to seeing this one happen...
>>>>>>> Postgres support is one of the things that I hear people requesting more
>>>>>>> and more often. And having used Liquibase myself in other projects, I 
>>>>>>> have
>>>>>>> to say that I find it a lot easier to use and much cleaner. One thing 
>>>>>>> that
>>>>>>> I could create relatively easily based on Liquibase changeset files (in
>>>>>>> this case I used YAML): I've created a little command line tool with 
>>>>>>> JBang
>>>>>>> to generate PlantUML ERD diagrams... something that is a lot harder to
>>>>>>> achieve with plain DDL scripts and Flyway.
>>>>>>>
>>>>>>> I agree to include this one after 1.6... that gives us some time to
>>>>>>> hash out backward compatibility (or not) and figure out how to make the
>>>>>>> transition as easy as possible for everyone.
>>>>>>>
>>>>>>> +1
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> Aleks
>>>>>>>
>>>>>>> On Tue, Feb 8, 2022 at 10:08 AM Arnold Galovics <
>>>>>>> galovicsarn...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi everyone,
>>>>>>>>
>>>>>>>> I was scanning through some tickets and found FINERACT-984
>>>>>>>> <https://issues.apache.org/jira/browse/FINERACT-984>: Postgres
>>>>>>>> support.
>>>>>>>>
>>>>>>>> I'm glad this has been brought up already. I thought about some
>>>>>>>> potential paths forward to support Postgres in Fineract, let me 
>>>>>>>> explain.
>>>>>>>>
>>>>>>>> First of all, I've gotta say Postgres would be a great addition to
>>>>>>>> the current Fineract project because - at least from my experience -
>>>>>>>> Postgres often outperforms MySQL performance-wise. At one of my 
>>>>>>>> previous
>>>>>>>> projects - which was a completely different product from Fineract - we 
>>>>>>>> used
>>>>>>>> AWS cloud to deploy the application and we were planning to use AWS 
>>>>>>>> Aurora
>>>>>>>> to boost the performance but we weren't sure whether AWS Aurora MySQL 
>>>>>>>> or
>>>>>>>> Aurora PostgreSQL is the way to go, so we decided to measure it. Aurora
>>>>>>>> Postgre was way better than Aurora MySQL in terms of performance but I
>>>>>>>> can't really share numbers.
>>>>>>>>
>>>>>>>> With that said, the first step in my opinion would be to try to do
>>>>>>>> database-independent schema migrations for which we could use Liquibase
>>>>>>>> instead of Flyway.
>>>>>>>>
>>>>>>>> With Liquibase we could write the schemas in a single format and in
>>>>>>>> the future apply to either MySQL or PostgreSQL. In addition, Liquibase 
>>>>>>>> also
>>>>>>>> supports native SQL migrations so we are not losing any functionality.
>>>>>>>>
>>>>>>>> I'm happy to take this work up and make the necessary changes to
>>>>>>>> Fineract.
>>>>>>>>
>>>>>>>> Note: I'm not targeting 1.6 with this change but a later release.
>>>>>>>> Note2: I've created a ticket as well to track this. FINERACT-1498
>>>>>>>> <https://issues.apache.org/jira/browse/FINERACT-1498>
>>>>>>>>
>>>>>>>> Let me know your thoughts.
>>>>>>>>
>>>>>>>> Best,
>>>>>>>> Arnold
>>>>>>>>
>>>>>>>

Reply via email to