2025.01.14

【未経験・初心者向け】テーブルとビューへの項目追加作業をバックアップ取得からリリースまですべて解説!

Just a moment... (34957)

はじめに

本記事は
「DataSpider関連製品を使用したことがない!」
「DCSpiderとPostgreSQLの関係が分からない!」
といった方を対象としています。
ゴールは「連携未経験者がPostgreSQL上のテーブルとビューに対して項目追加を行い、DCSpider上に反映できるようになる」ことです。

お客様が管理しているシステムからSalesforceへ連携する項目を増やしたい、または連携不要になった項目を削除したいというご要望を受けることがあります。
タイトルにも記載した、テーブル、ビューへの項目追加は、当時連携未経験者であった私が実際に行った作業にあたります。
その際、一連の作業内容をキャプチャとともに解説した記事が欲しかったため、本記事を執筆しました。
Web上に項目追加の作業内容を掲載した記事はあるものの、作業内容の一部しか記載がない、キャプチャが少ないなど、連携未経験者が作業内容をイメージするのは困難です。
その点、本記事では連携未経験者に焦点を当て、キャプチャを多く掲載していますので、最後まで読んでいただければ連携未経験者であっても項目追加の一連の作業内容が分かるようになっています。

本記事ではDCSpiderでの作業手順を紹介しますが、DCSpiderに限らず、DataSpider関連製品であれば作業手順に大きな差異はありませんので、参考にしていただけると幸いです。

PostgreSQLとは

前章にて「PostgreSQL上のテーブルとビュー」という言葉が出てきましたが、
まずこれらの用語について簡単に紹介します。

PostgreSQLはリレーショナルデータベース管理システム(RDBMS)の1つで、データを表形式、つまりテーブルとして管理しているデータベースです。
ただ、1つのテーブル情報だけで利用せず、データの差分を抽出する、異なるテーブル同士の情報からデータを絞り込むといった複数のテーブル情報を利用したい場面があります。
その際役に立つのがビューです。
テーブルがデータの格納場所となっているのに対し、ビューは異なるテーブルの情報を組み合わせて呼び出されています。
異なるテーブル同士のほかにも、テーブルとビューの情報から別のビューを作成することも可能です。

DataSpider関連製品(DataSpider Servista、DCSpider、DataSpider Cloud(mitoco X))の説明と
それぞれの製品の違いについては以下の記事をご覧ください。

改修方法

概要

今回改修するスクリプトでは以下の処理を行っています。
1.テーブル初期化
2.CSVファイル読み取り→Mapper→テーブル書き込み
3.テーブル読み取り→Mapper→SF取引先Upsert

以下の手順に基づいて改修作業を実施します。
1.PostgreSQL、DCSpiderともに改修箇所のバックアップを取得する
2.改修対象のテーブル、ビューをドロップする
3.項目を追加し、改修対象のテーブル、ビューを実行する
4.DCSpider上でスキーマ定義更新およびマッピングを行う
5.改修作業後にテストを実施し、改修内容が反映されているか確認する
6.リリース作業実施前に本番環境のバックアップを取得する
7.本番環境の改修対象のテーブル、ビューに項目追加
8.スクリプト移行後、「プロジェクトをサービスとして登録」する

バックアップ取得

開発環境のPostgreSQLのテーブルとビューを改修する前に、改修対象のテーブルとビューのSQL文をすべてコピーして、メモ帳などに保存します。

DCSpider側では改修対象となるテーブル、ビューを使用しているスクリプトを右クリックし、「ローカルへダウンロード」を押下後、「バージョンを指定してダウンロード」を押下し、現時点での最新バージョンを保存します。

改修後に予期せぬエラーが発生した際、容易に改修前の状態に戻せるようバックアップを事前に取得しておきます。

テーブル、ビューのドロップ

項目追加の手順はAlter文を使用する方法やPGAdminのUIから項目追加を行う方法など複数存在しますが、本記事では連携未経験者でも簡単に行えるという観点から、テーブル、ビューのドロップを行ったあと、直接内容を編集して項目を追加する方法を紹介します。
PostgreSQLは連携時にあくまでデータを仮置きしている場所にすぎないため、ドロップを行っても問題ありません。

項目追加対象のテーブル、ビューに対して右クリックし「Scripts」「CREATE Script」の順に押下します。
コメントアウトされた「DROP TABLE public.【テーブル名(ビュー名)】;」を網掛けし、Execute scriptボタンを押下すると、テーブル、ビューがドロップされ、SQL文の修正が可能になります。

注意事項として、改修対象のテーブルやビューが他のビューの構成要素となっている場合はドロップできません。
その場合は先に改修対象のテーブル、ビューを構成要素としているビューをドロップしてから、改修対象のテーブル、ビューをドロップする必要があります。

項目追加

項目追加後はSQL文を網掛けせずにExecute scriptボタンを押下します。
実行の際も、先に改修対象のテーブル、ビューを実行してからでないと、改修対象のテーブル、ビューを構成要素としているビューを実行することができません。

DCSpiderへの反映とマッピング

PostgreSQL上のテーブル、ビューに対して項目追加を行っただけでは、DCSpider上のスクリプトに対して反映されません。
項目追加を行ったテーブル、ビューを使用している「テーブル読み取り」「テーブル書き込み」に対して「スキーマ定義の更新」を行う必要があります。

Salesforceにデータを書き込む「データ書き込み(UPSERT)」に連携項目を追加するには、「スキーマの作成」を押下し、追加したい項目を押下後、「選択済みへ」を押下すると連携項目に含めることができます。

DCSpider上にテーブルとビューの情報が反映されたら、「mapping」から追加項目のマッピングを行い、保存します。改修作業としては以上の内容で完了です。

※ブログに掲載するにあたり、今回はCSVファイルの情報をtechblog_tableに書き込み、techblog_tableの情報をもってSalesforceの取引先をUpsertするスクリプトを組んでいます。
実際の案件ではCSVファイルの箇所が、お客様の管理するDBサーバのPostgreSQLテーブルなどに置換されます。
お客様が管理しているシステムへの項目追加は、お客様に実施いただく必要があります。

テストスクリプト作成&実行

DCSpider上に追加した項目の情報が反映されているかテストを行うためのテストスクリプトを作成します。

テストデータ登録

実際の案件ではお客様側のシステムにテストデータを登録するため、テストデータを記載したCSVファイルを用意します。
[ファイル]-[CSV]の「CSVファイル読み取り」を配置後、プロパティの「ファイル」にテストデータを記載したCSVファイルを指定します。
CSVファイルの1行目に項目名を記載しておくと「列一覧の更新」を押下するだけで「列名」を記載してくれます。

今回は直接CSVファイルからテーブルに情報を書き込んでいるため、お客様で管理しているPostgreSQLへの書き込みについては省略します。
基本的にはPostgreSQL上のテーブルへの書き込みと同様の手順で、接続先をお客様側のPostgreSQLに指定し、「CSVファイル読み取り」と「テーブル書き込み」をマッピングすれば問題ありません。
「CSVファイル読み取り」「mapping」「テーブル書き込み」を作成したら、フローをひいて実行します。

テーブル情報取得

改修したテーブル分、ツールパレットから[データベース]-[PostgreSQL]の「テーブル読み取り」を配置し、項目追加を行ったテーブルの情報を取得します。
ビューの情報を取得する必要はありません。ビューではデータを管理しておらず、テーブルや別のビューの情報を参照しているだけですので、改修対象のテーブルのみの取得で問題ありません。

次に[ファイル]-[CSV]の「CSVファイル書き込み」を配置します。
「CSVファイル書き込み」の「入力データ」には先ほど作成した「テーブル読み取り」の名称を記載し、「ファイル」には書き込み先となるファイルのパスを指定し、「列名」には確認したい項目名を記載します。

最後に「テーブル読み取り」と「CSVファイル書き込み」を繋ぎ、マッピングを行ってデバッグ実行します。
追加した項目情報がCSVファイルに書き込まれていれば成功です。

テストスクリプトでのテスト後、改修対象のスクリプトにおいてもデバッグ実行して、問題なく動作するかテストします。

リリース

移行資材&バックアップ取得

開発環境と本番環境の改修対象のテーブル、ビューのSQL文、スクリプトをローカルに保存します。
本番環境の改修対象のテーブルのデータバックアップも行います。

リリース作業

本番環境のPostgreSQL上のテーブル、ビューに対して項目追加を行います。
DCSpider側では、マイプロジェクトの「ファイル」押下後、「ローカルからアップロード」を押下し、開発環境で保存した改修対象のスクリプトを「既存プロジェクトにコミット」を選択してアップロードします。

※テーブルをドロップすると格納されているデータが確認できなくなるため、エラーの原因を調査する際、当時のデータを参照することができなくなります。本番環境でドロップを行う際は注意してください。

アップロードしたスクリプトを開き、右クリック後、「プロジェクトをサービスとして登録」を押下すれば、リリース作業は完了です。

まとめ

今回はPostgreSQL上のテーブルとビューに項目を追加し、DCSpider上に反映させる方法について紹介しました。
改修作業の流れについては以下の通りです。

1.PostgreSQL、DCSpiderともに改修箇所のバックアップを取得する
2.改修対象のテーブル、ビューをドロップする
3.項目を追加し、改修対象のテーブル、ビューを実行する
4.DCSpider上でスキーマ定義更新およびマッピングを行う
5.改修作業後にテストを実施し、改修内容が反映されているか確認する
6.リリース作業実施前に本番環境のバックアップを取得する
7.本番環境の改修対象のテーブル、ビューに項目追加
8.スクリプト移行後、「プロジェクトをサービスとして登録」する

本記事が、DataSpider関連製品とPostgreSQLの改修作業の流れを理解する一助となれば幸いです。
61 件
     
  • banner
  • banner

関連する記事