Q100617: Flix 6에 대한 MySQL 쿼리 예

팔로우


요약

이 문서는 Flix 관리자를 위한 것입니다. Flix 에 대한 정보를 수집하기 위해 MySQL에 직접 쿼리를 수행하는 방법에 대한 몇 가지 예를 제공합니다.


추가 정보

Flix MySQL 데이터베이스의 모든 쇼, 시퀀스 및 패널에 대한 정보를 보관합니다. 고급 Flix 관리자는 MySQL에서 직접 이 정보를 가져올 수 있습니다. 특정 정보를 추출하고 Flix 문제를 해결하는 데 유용할 수 있습니다.

내장된 mysql 명령줄 도구나 MySQL Workbench 또는 Sequel Pro와 같은 타사 도구를 사용할 수 있습니다.

아래 예에서는 ? 필요한 정보와 함께.

이름을 사용하여 쇼 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 6이 유지하는 데이터를 확인할 수 있습니다.

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 6 대응 항목을 찾고 싶을 때 유용합니다.

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 6/7에 MySQL 5.7 설치

대신 Flix 데이터베이스 데이터를 백업/복원하는 모범 사례를 찾으려면 아래 두 문서를 확인하세요.

Q100615: Flix 백업 중

Q100567: Flix 6 데이터베이스 백업을 복원하는 방법


다음 문서에서 show_id 및 시퀀스_id를 가져오는 방법을 알아볼 수 있습니다.

Q100619: Flix 클라이언트에서 show_id 및/또는 시퀀스_id를 검색하는 방법


마지막으로 Flix 가장 효율적인 방법으로 설정하는 방법에 대한 권장 사항을 보려면 다음 문서를 읽어보세요.

Q100593: 최적의 Flix 6 서버 설정

    우리는 문제로 불편을 끼쳐 드려 죄송합니다

    이유를 알려주세요