{
  "databaseChangeLog": [
    {
      "changeSet": {
        "id": "Start new year 2026 work with abilities",
        "author": "anibus",
        "changes": [
          {
            "addColumn": {
              "columns": [
                {
                  "column": {
                    "name": "ui_hotkey_name",
                    "type": "varchar(255)"
                  }
                },
                {
                  "column": {
                    "name": "child_ability_name",
                    "type": "varchar(255)"
                  }
                },
                {
                  "column": {
                    "name": "initial_delay_time",
                    "type": "varchar(255)"
                  }
                },{
                  "column": {
                    "name": "radius",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "min_damage",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "min_damage_value",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "max_damage",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "morale_damage",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "throw_force_min",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "throw_force_max",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "activation_id",
                    "type": "varchar(255)"
                  }
                },{
                  "column": {
                    "name": "area_effect_id",
                    "type": "varchar(255)"
                  }
                },{
                  "addForeignKeyConstraint":
                  {
                    "constraintName":  "fk_ability_activation",
                    "baseColumnNames":  "activation_id",
                    "baseTableName":  "abilities",
                    "referencedColumnNames":  "id",
                    "referencedTableName":  "activation"
                  }
                },{
                  "addForeignKeyConstraint":
                  {
                    "constraintName":  "fk_ability_area_effect",
                    "baseColumnNames":  "area_effect_id",
                    "baseTableName":  "abilities",
                    "referencedColumnNames":  "id",
                    "referencedTableName":  "area_effect"
                  }
                }
              ],
              "tableName": "abilities"
            }
          }
        ]
      }
    },
    {
      "changeSet": {
        "id": "Add area_filter column",
        "author": "anibus",
        "changes": [
          {
            "addColumn": {
              "columns": [
                {
                  "column": {
                    "name": "area_filter_id",
                    "type": "varchar(255)"
                  }
                },{
                  "addForeignKeyConstraint":
                  {
                    "constraintName":  "fk_ability_area_filter",
                    "baseColumnNames":  "area_filter_id",
                    "baseTableName":  "abilities",
                    "referencedColumnNames":  "id",
                    "referencedTableName":  "area_filter"
                  }
                }
              ],
              "tableName": "abilities"
            }
          }
        ]
      }
    },
    {
      "changeSet": {
        "id": "Add ui_index_hint column",
        "author": "anibus",
        "changes": [
          {
            "addColumn": {
              "columns": [
                {
                  "column": {
                    "name": "ui_index_hint",
                    "type": "int",
                    "value": 0,
                    "constraints": {
                      "nullable": false
                    }
                  }
                }
              ],
              "tableName": "abilities"
            }
          }
        ]
      }
    },
    {
      "changeSet": {
        "id": "Add range, recharge_time, recharge_timer_global, refresh_time, duration_time, spawned_entity_name columns",
        "author": "anibus",
        "changes": [
          {
            "addColumn": {
              "columns": [
                {
                  "column": {
                    "name": "range",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "recharge_time",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "recharge_timer_global",
                    "type": "boolean"
                  }
                },{
                  "column": {
                    "name": "refresh_time",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "duration_time",
                    "type": "number"
                  }
                },{
                  "column": {
                    "name": "spawned_entity_name",
                    "type": "varchar(1024)"
                  }
                }
              ],
              "tableName": "abilities"
            }
          }
        ]
      }
    },{
      "changeSet": {
        "id": "Change abilities name data type to Text column",
        "author": "anibus",
        "changes": [
          {
            "modifyDataType": {
              "columnName": "name",
              "newDataType": "text",
              "tableName": "abilities"
            }
          }
        ]
      }
    }
  ]
}
