= Store account status in a text column

By default, Rodauth recommends using a separate table for account statuses, and
linking them via foreign keys. This is useful as it achieves an enum-like
behaviour, where the database ensures a constrained set of status values.

However, if you use a testing environment that starts with a blank database,
and don't want to fix your testing environment to support real foreign keys,
you can configure Rodauth to store the account status in a text column.
Doing so results in problems if a text value you do not expect gets stored
in the column.  We can mitigate the problems by using a CHECK constraint
on the column.

  create_table :accounts do
    # ...
    String :status, null: false, default: "verified",
      check: {status: %w'unverified verified closed'}
  end

Then we can configure Rodauth to support this.

  plugin :rodauth do
    # ...
    account_status_column :status
    account_unverified_status_value "unverified"
    account_open_status_value "verified"
    account_closed_status_value "closed"
  end
