このページで決めること:記事の内容(コンテンツ)を、どこを正本(基準になる元の版)として持つか

決める前に知っておくこと

EmDashは、エントリー、コレクションとフィールドの定義、タクソノミー、メニュー、設定をデータベースに保存します。管理画面、REST API、MCPサーバー、CLIのどこから編集しても、保存先は同じデータベースです。

リビジョンに対応したコレクションでは、保存するたびに版が残り、管理画面の「変更履歴」から前の版を確認して復元できます。公開中のエントリーを編集すると、公開中の版を残したまま下書きが作られます。

データベースの外にコンテンツを置く方法としては、次の公式の仕組みがあります。

仕組み 内容
emdash content createupdate JSONファイルの内容から、エントリーを作成・更新します。--draft を付けない場合は、保存と同時に公開されます。--draft を付けると下書きのまま保存します。更新には、emdash content get で取得したリビジョンのトークンを --rev で渡します
emdash export-seed --with-content データベースの内容をシードファイルとして書き出します。--with-content を付けると、エントリーも含めます
シードファイル 空のデータベースに初回だけ適用されます。すでにデータがあるデータベースに、変更したシードファイルをデプロイしても何も変わりません

選択肢の比較

A. データベースだけ B. データベースとGitの両方 C. Gitを正本にしてデータベースへ投入
概要 記事はEmDashのデータベースだけに置き、履歴はリビジョンで持つ データベースを正本にし、書き出したファイルを控えとしてGitにも保存する 記事をファイルとしてGitで管理し、CLIやAPIでEmDashに投入する
向いている場合 管理画面やAIツールから直接編集する 記事の変更を、Gitの差分としても残したい 記事をスクリプトやAIで一括生成・更新する。変更をGitの差分で確認したい
注意点 記事の差分はGitでは見られない。データベースのバックアップを別に用意する Gitの控えは書き出した時点のもので、データベースと常に一致するわけではない 管理画面で直した内容とGitの内容がずれる。管理画面での直接の編集を禁止するなど、正本を1つに決めるルールが必要
費用と手間 最小 小〜中(書き出しの仕組みが必要) 大(投入の仕組みと、ずれを防ぐ運用が必要)
根拠にした公式ページ コンテンツの作成と公開 運用中サイトのスキーマ変更(emdash export-seed)、バックアップと復旧 CLIリファレンス(emdash content

別の選択肢が合う条件

記事をスクリプトやAIで一括生成し、変更点をGitの差分で確認したい場合は、Cが合います。その場合は、管理画面での直接の編集を禁止するなど、正本を1つに決めるルールが必要です。管理画面で編集しつつ、記事の変更もGitに残しておきたい場合は、Bの方法があります。

根拠にした公式ページ