<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements. See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership. The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied. See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
    <include file="parts/0003_postgresql_specific_initial_data.xml" relativeToChangelogFile="true"/>
    <include file="parts/0004_camelcase_column_renaming.xml" relativeToChangelogFile="true"/>
    <include file="parts/0005_savings_transaction_reversal.xml" relativeToChangelogFile="true"/>
    <include file="parts/0006_product_loan_disallow_expected_disbursements.xml" relativeToChangelogFile="true"/>
    <include file="parts/0007_product_loan_higher_than_applied_loan_amount_management.xml" relativeToChangelogFile="true"/>
    <include file="parts/0008_loan_charge_add_external_id.xml" relativeToChangelogFile="true"/>
    <include file="parts/0009_hold_reason_savings_account.xml" relativeToChangelogFile="true"/>
    <include file="parts/0010_lien_allowed_on_savings_account_products.xml" relativeToChangelogFile="true"/>
    <include file="parts/0011_credit_scorecard.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>
