はじめに
hkob の雑記録の第249回目は、NotionRubyMapping で対応しようとしているデータベースのコンテナ化について解説します。
公式によるリリース案内
Retreive a database のリファレンスページはこちらになります。
データベースがさらに強力になりました
1つのデータベースで複数のデータソースを親として設定できるようになり、リンクされたビューも追加できます。
1つの場所。多くのソース。あなたのワークフローの真のハブ。
今週から展開開始。
Databases just got more powerful ✨ You can now parent multiple data sources in a single database — and add linked views too.
— Notion (@NotionHQ) 2025年9月3日
One place. Many sources. A true hub for your workflow.
Rolling out this week. pic.twitter.com/8bcN4zL4cN
これに合わせて、Notion API の 2025-09-03 のリリース案内もありました。
新しいAPIバージョン2025-09-03をリリースしました。
これにより、データベース内で複数のデータソースのサポートが解除されます — これであなたの統合はNotionで可能なことに追いつけます。
データベースのサポートを強化するためにAPIバージョンをアップグレードしてください:
We’ve shipped a new API version: 2025-09-03.
— Notion API (@NotionAPI) 2025年9月3日
It unlocks support for multiple data sources in databases — so your integrations can keep up with what’s possible in Notion.
Upgrade your API version for better database support: https://t.co/nKhatoJNBT https://t.co/o2vIQ5jIgY
何が変わったのか?
これまで database と data source は 1:1 に対応していて、表示の際にデータベースの中にビューをたくさん設定することが可能でした。異なるデータベースを表示するには Linked view を使う必要がありました。このため、複数のデータベースを用いる複雑なパッケージになると、フルページの databases をまとめたデータベース置き場を用意し、表のページに Linked view を用意する形が一般的だったと思います。例えば今移行中の森高千里DB だとデータベース置き場はトリガの下にこんな形で隠してあります。
今回、Database は新しくコンテナという形になりました。Database は複数の Data sources を含むことができる代わりに、プロパティなどの情報は保持しなくなりました。ユーザが Database を作成した場合には、Data sources を一つ含むだけの Database コンテナが作成されるので、一般のユーザが変化に気づくことはありません。
データベースビューのオプション
今回の変更によりデータベースビューのオプションは以下のように変わっています。Database settings の下に「データソースを管理する」というメニューが増えています。
「データベースを管理する」を選ぶと「データソースを追加」と「既存のデータソースをリンク」の二つを選ぶことができます。
A の横にある「…」をクリックすると Data source に対する処理メニューが出てきます。上の「データソースIDをコピー」をすると Notion API などで利用する data_source_id がコピーされます。
もう一つの「移動先」は Data source の移動ができるようです。試しにテストでもう一つ作成した「B」という Data source を先ほどの A に移動してみます。
A を選ぶと「データソースBを移動中」というダイアログが表示されました。ここでは「データソースと1個のビュー」「データソースのみ」のどちらを移動するかを選べます。
これにより、B というデータソースが A を含む Database コンテナに入りました。
一方、「データソースを追加」とした場合には、新しいデータソースといういつものデータベース作成の時に出てくるメニューが出てきます。
新しい空のデータソースを選ぶと、「新しいデータソース」という名前の Data source が生成されます。また、Data source が複数になった場合には、「…」で「ゴミ箱に移動」メニューも追加されます。
最後に「既存のデータソースをリンク」を選ぶと次のようなダイアログが表示されます。
リンクを追加すると「C」のデータベースはそのまま残り、リンクビューとして追加されます。リンクなので↗︎がついているのでリンクであることがわかります。これはこれまでの Linked view と同じ機能です。
昨日の Create a database の補足
移行ガイドによると、Database を作成時に initial_data_source にこれまでの properties を記述すると、そのプロパティを設定した Data source を同時に作成してくれると書かれていました。しかし、昨日、Create a database のリファレンスを紹介した時に、initial_data_source の項目が入っていませんでした。Slack で問い合わせをしたところ、記述漏れだったとのことでその場で修正してくれました。現在は以下のように修正されています。
修正された Create a database のリファレンスはこちらになります。
おわりに
昨日のリファレンス更新に引き続き、Notion 自体の機能も更新されました。ただ、NotionRubyMapping のテストデータを置いているワークスペースにはまだこの機能が配信されていませんでした。そのため、Notion API でこの機能を使おうとすると「Adding data sources to existing databases is not available」というメッセージが出てきてしまっています。なんとか早く配信してほしいですね。