サードパーティのデータベース管理アプリケーションがお客様に付加価値を提供できることを認識しています。
Engine DJ はこれらのサードパーティ製ツールを公式にはサポートしませんが、Engine DJの環境に互換性があり合理化されたツールを開発者が構築できるように、以下のリソースを作成しました。
Engine DJ では、予期せぬ動作からお客様を守ることに全力を尽くしています。
このリソースにより、当社の製品でサードパーティ製ツールを使用する際に、お客様にポジティブな体験をしていただけることを願っています。
サードパーティ製アプリケーション利用ガイドライン
Engine DJフォルダに変更を加えるサードパーティアプリケーションは、Engine DJと同時に開いてはいけません。
データベースの破損につながる可能性があります。
開発者ガイドライン
- Engine Library/Database2 にあるすべての .db ファイルは、スキーマを編集しないでください。
これを行うと、Engine DJ がデータベースのロードを拒否します。 - Engine DJは将来、当社のスキーマに適合しないデータを削除する変更を実施する可能性があります。
- サードパーティアプリケーションが追加データを必要とする場合、これは別のデータベースに保存されるべきです。
Engine Databaseファイルは、実行時にこのデータベースにアタッチされなければいけません。
名前の競合を避けるため、この拡張データベースは `Database2` フォルダーのサブフォルダーに置きます。 - データをEngineデータとバインドするには、Engine Databaseの主キーをテーブルの外部キーとして使用する必要があります。
- テーブルで主キーとしてマークされたキーを使用しないでください。
SQLite の観点からは主キーであっても、Engine DJのビジネスロジックの観点からは正真正銘/自然な主キーではありません。 - データをトラックにバインドする必要がある場合は、Track.{originId, origingDatabaseUuid}のペアを使用します。
これは、Engine用の本物の永続化された結合主キーです。 - プレイリストに余分なデータをバインドする必要がある場合は、そのパスを永続化された主キーとして使用してください。
プレイリストのパスは、空のタイトルを持つルートプレイリストから始まり、プレイリストのタイトルで終わる、すべての親のプレイリストタイトルの順序付けられたシーケンスです。
この定義が不明確な場合は、PlaylistPath ビューを参照してください。
Engine Database でデータベースをアタッチする方法
SQLite は標準 SQL attach database queries をサポートしています。これらのクエリを使用して、Engine Databaseをエクステンション データベースにアタッチします。
ATTACH "~/Music/Engine Library/Database2/m.db?mode=ro" AS Engine |
SELECT Engine.Track.*, YourExtensionTable.* FROM Engine.Track INNER JOIN YourExtensionTable USING (origingDatabaseUuid, originId) |
SELECT Engine.Playlist.*, YourOtherExtensionTable.* FROM Engine.PlaylistPath INNER JOIN Engine.Playlist USING(id) INNER JOIN YourOtherExtensionTable USING(path) |
ご質問はこちらまでご連絡ください。 developers@enginedj.com.