コンテンツの正本の置き場所
このページで決めること:記事の内容(コンテンツ)を、どこを正本(基準になる元の版)として持つか
決める前に知っておくこと
EmDashは、エントリー、コレクションとフィールドの定義、タクソノミー、メニュー、設定をデータベースに保存します。管理画面、REST API、MCPサーバー、CLIのどこから編集しても、保存先は同じデータベースです。
リビジョンに対応したコレクションでは、保存するたびに版が残り、管理画面の「変更履歴」から前の版を確認して復元できます。公開中のエントリーを編集すると、公開中の版を残したまま下書きが作られます。
データベースの外にコンテンツを置く方法としては、次の公式の仕組みがあります。
| 仕組み | 内容 |
|---|---|
emdash content create / update |
JSONファイルの内容から、エントリーを作成・更新します。--draft を付けない場合は、保存と同時に公開されます。--draft を付けると下書きのまま保存します。更新には、emdash content get で取得したリビジョンのトークンを --rev で渡します |
emdash export-seed --with-content |
データベースの内容をシードファイルとして書き出します。--with-content を付けると、エントリーも含めます |
| シードファイル | 空のデータベースに初回だけ適用されます。すでにデータがあるデータベースに、変更したシードファイルをデプロイしても何も変わりません |
別の選択肢が合う条件
記事をスクリプトやAIで一括生成し、変更点をGitの差分で確認したい場合は、Cが合います。その場合は、管理画面での直接の編集を禁止するなど、正本を1つに決めるルールが必要です。管理画面で編集しつつ、記事の変更もGitに残しておきたい場合は、Bの方法があります。
根拠にした公式ページ
- コンテンツの作成と公開(原文:https://docs.emdashcms.com/guides/working-with-content/)
- CLIリファレンス(原文:https://docs.emdashcms.com/reference/cli/)
- 運用中サイトのスキーマ変更(原文:https://docs.emdashcms.com/deployment/schema-evolution/)
- Cloudflareへのデプロイ(原文:https://docs.emdashcms.com/deployment/cloudflare/)
- バックアップと復旧(原文:https://docs.emdashcms.com/guides/backups/)