【ServiceNow】画像が破損した!? 本番移行時の注意

こんにちは!
SCSK株式会社 小鴨です。


とある日のこと
「更新セット適用できたし、カタログUIの確認でもするか、、、あれ?」

「…画像貼れてなくね?」
「………………」
「………うううあんまりだ…….
「HEEEEYYYY!!! あァァァんまりだァァァァ!!(ノД`)・゜・。」

皆さんはこんな状況に直面したことはありますか?
若かりし頃の私はこの事象に出会った際、あまりの理不尽に世を憎んだ覚えがあります。
調査の時間もない、締め切りも近い、ということで
本番環境へ直接、画像の貼り直しを行い対処したことを覚えてます。
あくまで緊急対応のために行った妥協策です。お客様の同意もあり。
保守性が落ちるので皆さんはやらないように。。。

ということで今回はこの事象に対する
正しいデータ移行の方法 についての解説をさせていただきます!!

多くの皆様にとっては釈迦に説法かもしれませんが
そういった方はぜひ、コメントにてより高次元の使い方をご教示いただけると幸いです!

 

更新セットに入らないデータ

何が置いて行かれている?

以前もこちらの記事で紹介した通り、更新セットには入らない種類の更新というものが存在します。
結論から言うと今回の事象もこれが原因です。

【ServiceNow】テーブルへのデータ取り込み その1 ~まずはExcelで~
ServiceNowにおける更新セット以外でのデータ取り込み方法を紹介。この記事ではExcelからの取り込みを説明。

ではどこのテーブルを参照すべきかというと二つあります。
一つはsys_attachment」(添付ファイル)テーブル
もう一つはsys_attachment_doc」(添付ドキュメント)テーブル
これらが今回の確認先となります。

各テーブルについて

まずはsys_attachment」(添付ファイル)テーブルについて
以下のようにServiceNowに取り込まれたファイルは以下テーブルに格納されています。
もちろんカタログに配置されている画像も同様です。

ファイル名はもちろん、テーブル名や作成日時フィールドもあるので、検索を行えば該当するファイルを見つけることができるはず。
これをXML等でエクスポートし、本番環境に移行します。

さて、これで一件落着と思いきや画像はまだ表示されていないと思います。
なんでじゃ!?と思いますが、ここで出てくるのがsys_attachment_doc」(添付ドキュメント)テーブルです。
このテーブルは以下のような構成になっていまして、正直得体が知れないですが、以下さえ押さえておけば大丈夫。
ポイントは先ほどのテーブルに入っていた添付ファイルに紐づいているレコードをエクスポートすることです。

例えばsys_attachment」(添付ファイル)テーブルで移行した添付ファイルの名前が
「sn_crs_config_28.2.1_package_inventory.csv」で合った場合
「システム添付」というフィールドでその名前で検索すれば関連するレコードがすべて表示されます。
↓こんな感じ

あとはこれを本番環境へ移行すれば画像が復元されます!!

次回予告

特に予定はありませんが「ビュー」関連の内容で書いてみようかなと思います。
モジュールからレコードの新規作成を行う場合に、デフォルトビュー以外で出したいなという場合
どうすればよいかご紹介なんてありかな!

著者について
小鴨研太をフォローする

クラウドに強いによるエンジニアブログです。

SCSKでは、自社クラウドと3大メガクラウドの強みを活かし、ハイブリッドクラウド/マルチクラウドのソリューションを展開しています。業界の深い理解をもとに、お客様の業務要件に最適なアーキテクチャをご提案いたします。サービスサイトでは、お客様のDX推進をワンストップで支援するサービスの詳細や導入事例を紹介しています。

ServiceNowクラウド
シェアする
×
タイトルとURLをコピーしました