#!/bin/bash

# Exit immediately if a command exits with a non-zero status
set -e

# Create the migrations state directory, we will store an empty file for each migration that has already been performed.
STATE_DIR="$HOME/.local/state/omarchy/migrations"
mkdir -p "$STATE_DIR"

# Run any pending migrations
for file in ~/.local/share/omarchy/migrations/*.sh; do
  filename=$(basename "$file")

  # Migration already applied, to re-run it simply delete the state file and try again
  if [[ ! -f "$STATE_DIR/$filename" ]]; then
    echo -e "\e[32m\nRunning migration (${filename%.sh})\e[0m"
    source $file
    touch "$STATE_DIR/$filename"
  fi
done
