まとめ
この記事はFlix管理者向けです。MySQLに直接クエリを実行してFlixに関する情報を収集する方法の例をいくつか紹介します。
詳細情報
Flix 、すべての番組、シーケンス、パネルに関する情報をMySQLデータベースに保存しています。上級のFlix管理者は、これらの情報をMySQLから直接取得できます。これは、特定の情報を抽出したり、 Flixトラブルシューティングを行う際に役立ちます。
MySQL とのインターフェースには、組み込みのmysqlコマンドライン ツール、または MySQL Workbench や Sequel Pro などのサードパーティ ツールを使用できます。
以下の例では、クエリを有効にするために、「 <?> 」文字を必要な情報に置き換える必要があります。
- 名前を使用してショーIDを取得する
- 名前からシーケンスIDを取得する
- パネルアセットのファイルパスを見つける
- ユーザーのリストを表示する(システムユーザーを除く)
- 特定のファイル名を使用するパネルIDを検索する
- 人間が読めるサーバーリストを取得する
- パネルIDのFlix 5メタデータを検索する
- Flix 5 メタデータからパネルリビジョンを検索する
名前を使用してショーIDを取得します
この例では、番組の名前を使用してプロジェクトの番組 ID を取得できます。
mysql> SELECT
`shows`.`show_id`,
`shows`.`title`
FROM
`shows`
WHERE
`shows`.`title` LIKE '% <?> %';
+---------+-----------------+
| show_id | title |
+---------+-----------------+
| 2 | the little bird |
+---------+-----------------+
名前からシーケンスIDを取得する
この例では、シーケンス名を使用してシーケンス ID を取得できます。
mysql> SELECT
`sequence`.`id`,
`sequence`.`description`
FROM
`sequence`
WHERE
`sequence`.`description` LIKE '% <?> %';
+----+-------------+
| id | description |
+----+-------------+
| 2 | a place |
+----+-------------+
パネルアセットのファイルパスを見つける
この例では、特定のアセットのストレージ デバイス上のファイル パスを見つけることができます。
mysql> SELECT
`vPanel_asset_ref`.`panel_id` AS PanelID,
`vPanel_asset_ref`.`vPanel_id` AS PanelRevision,
`media_object`.`ref` AS Ref,
CONCAT('<asset_dir>/', `media_object`.`id`, '_', `media_object`.`filename`) AS FilePath
FROM
`media_object`
LEFT JOIN
`asset` ON `asset`.`asset_id` = `media_object`.`asset_id`
LEFT JOIN
`vPanel_asset_ref` ON `vPanel_asset_ref`.`asset_id` = `asset`.`asset_id`
WHERE
`vPanel_asset_ref`.`show_id` = <?> and
`vPanel_asset_ref`.`sequence_id` = <?> and
`vPanel_asset_ref`.`panel_id` = <?> ;
+---------+---------------+-----------+------------------------------+
| PanelID | PanelRevision | Ref | FilePath |
+---------+---------------+-----------+------------------------------+
| 1 | 1 | artwork | <asset_dir>/3_test.0491.jpeg |
| 1 | 1 | thumbnail | <asset_dir>/16_079043250.png |
| 1 | 1 | scaled | <asset_dir>/20_019628328.png |
| 1 | 1 | fullres | <asset_dir>/25_552125904.png |
+---------+---------------+-----------+------------------------------+
ユーザーのリストを表示する(システムユーザーを除く)
この例では、 Flixを使用できるユーザーのリストを取得できます。LDAP または OAuth 認証を使用している場合、 Flixにアクセスできるユーザーのリストが完全ではない可能性があります。その場合は、以前にFlixにサインインしたユーザーのリストが取得されます。
mysql> SELECT
`user`.`id`,
`user`.`username`,
`user`.`is_admin`,
`user`.`type`,
`user`.`email`,
`user`.`deleted`
FROM
`user`
WHERE
`user`.`is_system` = 0;
+----+----------+----------+------+------------------------+---------+
| id | username | is_admin | type | email | deleted |
+----+----------+----------+------+------------------------+---------+
| 1 | admin | 1 | flix | flix -admin@foundry.com | 0 |
+----+----------+----------+------+------------------------+---------+
特定のファイル名を使用するパネルIDを検索する
この例では、特定のファイルのパネル ID がわかります。
mysql> SELECT
`shows`.`title` AS ShowTitle,
`sequence`.`description` AS SequenceTitle,
`panel`.`panel_id` AS PanelID
FROM
`media_object`
LEFT JOIN
`asset` ON `asset`.`asset_id` = `media_object`.`asset_id`
LEFT JOIN
`shows` ON `shows`.`show_id` = `asset`.`show_id`
LEFT JOIN
`vPanel_asset_ref` ON `vPanel_asset_ref`.`asset_id` = `asset`.`asset_id`
LEFT JOIN
`vPanel` ON `vPanel`.`show_id` = `vPanel_asset_ref`.`show_id` AND
`vPanel`.`sequence_id` = `vPanel_asset_ref`.`sequence_id` AND
`vPanel`.`panel_id` = `vPanel_asset_ref`.`panel_id`
LEFT JOIN
`sequence` ON `sequence`.`id` = `vPanel`.`sequence_id` AND
`sequence`.`id` = `vPanel`.`sequence_id`
LEFT JOIN
`panel` ON `panel`.`panel_id` = `vPanel`.`panel_id`
WHERE
`media_object`.`id` = SUBSTRING_INDEX(' <?> ', '_', 1) AND
`media_object`.`filename` = SUBSTRING_INDEX(' <?> ', '_', -1)
GROUP BY
ShowTitle, SequenceTitle, PanelID;
+------------+---------------+---------+
| ShowTitle | SequenceTitle | PanelID |
+------------+---------------+---------+
| show1 | seq_qwery | 1 |
| other show | asdf | 1 |
+------------+---------------+---------+
人間が読めるサーバーリストを取得する
この例では、すべてのFlixサーバーのリストを取得できます。これは、 Flixクライアントの「管理コンソール」→「サーバー」でも確認できます。
mysql> SELECT
HEX(`server`.`server_id`) AS serverIdent,
INET_NTOA(`server`.`host_ip`) AS IP,
`server`.`port`,
`server`.`rpc_port`,
`server`.`running`,
`server`.`start_date`,
`server`.`hostname`
FROM
`server`;
+----------------------------------+--------------+------+----------+---------+---------------------+-----------------+
| serverIdent | IP | port | rpc_port | running | start_date | hostname |
+----------------------------------+--------------+------+----------+---------+---------------------+-----------------+
| F22A1072B6754BCDB78477EDCD81F8FD | 192.168.1.67 | 8080 | 9876 | 1 | 2021-02-01 13:18:29 | flx.foundry.com |
+----------------------------------+--------------+------+----------+---------+---------------------+-----------------+
パネルIDのFlix 5メタデータを検索する
この例では、 Flix 5から移行されたパネルについてFlixが保持しているデータを確認できます。
mysql> SELECT
`vpanel`.`panel_id`,
`vpanel`.`data`
FROM
`vpanel`
WHERE
`show_id` = <?> AND
`sequence_id` = <?> AND
`vpanel`.`panel_id` = <?> ;
+----------+----------------------------------------------------------+
| panel_id | data |
+----------+----------------------------------------------------------+
| 1 | {"flix5_panel_id": "31", "flix5_panel_revision": "1"} |
| 1 | {"flix5_panel_id": "31", "flix5_panel_revision": "2"} |
| 1 | {"flix5_panel_id": "31", "flix5_panel_revision": "3"} |
+----------+----------------------------------------------------------+
Flix 5 メタデータからパネルリビジョンを検索する
この検索は、 Flix 5パネルのFlix対応パネルを見つけたいときに役立ちます。
mysql> SELECT
`vPanel`.`show_id`,
`vPanel`.`sequence_id`,
`vPanel`.`panel_id`,
`vPanel`.`panel_revision`
FROM
`vPanel`
JOIN
`sequence` ON `sequence`.`id` = `vPanel`.`sequence_id`
WHERE
`vPanel`.`data`->"$.flix5_panel_id" = " <?> " AND
`vPanel`.`data`->"$.flix5_panel_revision" = " <?> " AND
`sequence`.`tracking_code` = " <?> ";
+---------+-------------+----------+----------------+
| show_id | sequence_id | panel_id | panel_revision |
+---------+-------------+----------+----------------+
| 7| 97 | 236 | 1 |
+---------+-------------+----------+----------------+
さらに詳しく
これが探していたものではなく、MySQL のインストール方法を知りたい場合は、以下の記事を参照してください。
Q100551: Red Hat/CentOS 7 または Rocky 9 に MySQL 8 をインストールする
代わりに、 Flixデータベース データをバックアップ/復元するためのベスト プラクティスを探している場合は、以下の 2 つの記事を確認してください。
show_id と sequence_id を取得する方法については、次の記事を参照してください。
Q100619: Flixクライアントからshow_idやsequence_idを取得する方法
最後に、 Flix最も効率的に設定する方法についての推奨事項については、この記事をお読みください。
Q100593: 最適なFlixサーバーのセットアップ
私たちはそれを聞いて申し訳ございません
理由をお聞かせください