
# 実行時の状態

Rudelの実行時状態はDBのみを基盤としています。

ホストWordPressのMySQLデータベースには、Rudelのメタデータテーブルがあります。

- `wp_rudel_environments`
- `wp_rudel_worktrees`

これらのテーブルは、サンドボックスの識別情報、保護や有効期限などのライフサイクルメタデータ、ワークツリーメタデータ、タイムスタンプの信頼できる情報源です。

## 環境レコード

`wp_rudel_environments`には次の情報が保存されます。

- 安定したレコードID
- 公開サンドボックスID
- 名前とスラッグ
- ステータス
- パス
- テーブルプレフィックス
- 選択したテーマのメタデータ
- ライフサイクルメタデータ
- クローンメタデータ
- タイムスタンプ

## ワークツリーレコード

`wp_rudel_worktrees`はGit管理されたテーマディレクトリのリンク済みワークツリーのメタデータを保存します。

Rudelはファイルシステムのパスから実行時状態を推測しません。ファイルシステムのパスは、実行時レコードに属する成果物です。

## テーブル名

デフォルトでは、Rudelのテーブル名は次の要素から決まります。

```text
{wordpress_db_prefix} + rudel_ + {table_name}
```

標準的な`wp_`のインストールでは、次のようになります。

```text
wp_rudel_environments
wp_rudel_worktrees
```

高度な埋め込み用途では、WordPressDBプレフィックスはそのままにして、Rudelの部分を変更するために`RUDEL_RUNTIME_TABLE_PREFIX`を設定できます。

テーブルごとの明示的な定数は、共通プレフィックスより優先されます。

```php
define( 'RUDEL_RUNTIME_TABLE_PREFIX', 'themefoo_' );
define( 'RUDEL_RUNTIME_TABLE_ENVIRONMENTS', 'custom_environments' );
```

保存済みレコードが重要な場合、これらの定数は初回のインストールまたはブートストラップより前に定義してください。

## 別の実行時ストアはありません

RudelはJSONを実行時設定として使いません。設定はホストのoptionsテーブル内の`rudel_config`オプションに保存されます（[設定](https://rudel.inline0.dev/ja/docs/configuration)を参照）。JSONがスナップショットやテンプレート用に作成するファイルRudelは、それらの成果物を記述するものであり、実行時のレジストリ状態ではありません。

RudelはメタデータをSQLiteに保存しません。

サンドボックスのサイトデータは、同じホストMySQLデータベース内の複製されたWordPressテーブルに保存されます。
