priv/repo/migrations/20260505140000_add_certificate_lifecycle_to_relyra_connection_certificates.exs

defmodule Relyra.Repo.Migrations.AddCertificateLifecycleToRelyraConnectionCertificates do
  use Ecto.Migration

  def up do
    alter table(:relyra_connection_certificates) do
      add :role, :string, null: false, default: "signing"
      add :lifecycle_state, :string, null: false, default: "active"
      add :staged_at, :utc_datetime_usec
      add :activated_at, :utc_datetime_usec
      add :retired_at, :utc_datetime_usec
    end

    execute("""
    UPDATE relyra_connection_certificates
    SET activated_at = COALESCE(activated_at, inserted_at)
    WHERE lifecycle_state = 'active'
    """)
  end

  def down do
    alter table(:relyra_connection_certificates) do
      remove :retired_at
      remove :activated_at
      remove :staged_at
      remove :lifecycle_state
      remove :role
    end
  end
end