チュートリアル ─ Tutorial

STEP1. 導入

まずはCustomDataBaseTables(以降CDBTと称します)プラグインをダウンロードし、ご利用中のWordPressにインストール後、有効化します。
プラグインのダウンロード元はいくつかあります。WordPress.orgの公式のsvnリポジトリからダウンロードする以外にも、実際の開発で利用しているGitHubのリポジトリからダウンロードすることも可能です。
また、プラグインのインストールの仕方は一般的なWordPressプラグインのインストール方法に準拠していて、プラグインディレクトリ(通常はwp-content/plugins/になります)にCustomDataBaseTablesのディレクトリを作成して、その中にプラグインの全ファイルをアップロードしてください。
プラグインが正常にインストール、有効化されると、WordPressの管理メニューの「設定」に「カスタムDBテーブル(CustomDataBaseTables)」の項目が追加されます(下図参照)。

CDBT プラグイン設定メニュー

STEP2. 設定画面(CDBT管理コンソール)

WordPressの管理メニューの「設定」から「カスタムDBテーブル(CustomDataBaseTables)」を選択すると、CDBTプラグインの設定画面(CDBT管理コンソール)が表示されます。CDBTプラグインの全ての管理・設定はこの設定画面で行われます。本STEPではこの設定画面の機能の説明を行っていきます。
まず、設定画面を表示した時一番最初に表示されるのがダッシュボード画面です(下図参照)。

CDBTダッシュボード画面

このダッシュボード画面では、現在管理対象となっているテーブルのフィールド構造と、利用できるショートコードのサンプルが確認できます。ただし、プラグインインストール直後などのテーブル未作成時や管理対象テーブルがない場合は何も表示されません。

次に、プラグインの各種設定やテーブルの作成・管理を行う設定・管理画面の説明です。
ネジのアイコンで表されている設定・管理画面には現在3つのタブがあり、それぞれのタブによって設定できる項目が分かれています。

共通設定タブ

このタブ内では、CDBTプラグイン全体に影響する設定を行うことができます(下図参照)。

CDBT共通設定

現在のバージョンでは、設定項目が4つありますが、実際に設定できる項目は2つだけとなっています。

  • テーブル接頭辞設定 : チェックを入れて有効にすると、テーブルを作成する時にWordPress本体の設定ファイルで定義されているデータベース接頭辞が自動で付与されます。ただし、この設定は実際にテーブルを作成する時にも変更が可能です。
  • テーブルの文字コード : WordPressが既に利用しているデータベースの文字コードに依存するため、変更することができません。
  • テーブルのタイムゾーン : WordPressの一般設定にて設定されているタイムゾーンに依存するため、変更することができません。
  • データクリーンアップ設定 : 本タブの共通設定を保存する時、既にデータベースに存在していないテーブルの設定が残っていた場合、それを削除して設定データのクリーニングを行います。

テーブル作成タブ

このタブ内では、CDBTプラグインにて管理されるテーブルをデータベースに新規作成することができます(下図参照)。

CDBTテーブル作成

設定項目の詳細は下記の通りです。

  • テーブル名 : 作成するテーブル名を入力します。入力欄のテーブル名には接頭辞が含まれませんのでご注意ください。オプションでWordPressの本体で定義されている接頭辞を利用するチェックボックスにチェックをすると、自動で接頭辞を付与したテーブル名が設定されます。作成されるテーブル名のプレビューも表示されるため、プレビュー欄を確認しながら設定してください。(※ 本項目は入力必須です。)
  • テーブルコメント : テーブルのコメントを入力します。入力されたコメントは作成するテーブルの論理名として利用されます。
  • データベースエンジン : 作成するテーブルのデータベースエンジンを設定します。MyISAMInnoDBのどちらかを選択できます。
  • テーブル作成SQL : テーブル作成用のSQLを入力します。CDBTプラグインで作成されるテーブルには、自動でプライマリーキーインデックスとなるIDフィールドと、データ作成日時とデータ更新日時を格納するフィールドが追加されます。SQL文にはそれらの自動追加フィールドを定義する部分以外のフィールド定義を記述する必要があります。また、テーブル作成用SQLの記述の仕方がわからない場合は、「テーブルクリエイター」モードに切り替えて、テーブル作成ツール上からテーブル作成SQLを生成することもできます。
  • ページ内最大表示数 : 作成したテーブルに登録したデータを一覧表示する際、ここで設定した数より多いデータがあった場合は別ページに分割されます。分割されたページは自動でページネーションされます。
  • テーブルデータ閲覧を許可するユーザー : WordPressの管理パネルやショートコードによって公開されたテーブルデータ一覧ページへのアクセスを許可するユーザーのロールを設定できます。アクセス権のないユーザーが該当のページにアクセスした場合、コンテンツは表示されません。
  • テーブルデータ登録を許可するユーザー : WordPressの管理パネルやショートコードによって公開されたテーブルデータ登録ページへのアクセスを許可するユーザーのロールを設定できます。アクセス権のないユーザーが該当のページにアクセスした場合、コンテンツは表示されません。
  • テーブルデータ編集を許可するユーザー : WordPressの管理パネルやショートコードによって公開されたテーブルデータ編集ページへのアクセスを許可するユーザーのロールを設定できます。アクセス権のないユーザーが該当のページにアクセスした場合、コンテンツは表示されません。

利用可能テーブル一覧タブ

このタブ内では、CDBTプラグインにて管理されている全テーブルの確認と、各テーブルについての管理を行うことができます(下図参照)。

CDBTテーブル一覧

この一覧画面から行える機能は下記の通りです。

  • インポート : 任意のテーブルに対してCSVファイルからデータのインポートを行うことができます。詳細はデータインポートにて説明します。
  • エクスポート : 任意のテーブルに登録されている全データをCSVファイルとしてエクスポート(ダウンロード)できます。
  • テーブル構造変更 : 対象のテーブルに対して、テーブル構造の変更を行います。SQLコマンドALTER TABLEを実行する機能です。こちらもご参照ください。
  • データ初期化 : 対象のテーブルに登録されている全データを削除します。テーブルは削除しません。SQLコマンドTRUNCATE TABLEを実行する機能です。初期化実行後のデータ復旧はできないため、あらかじめエクスポート機能などでデータのバックアップを取っておくことをお奨めします。
  • テーブル削除 : 対象のテーブルを削除します。テーブルに登録されているデータも含んで削除されます。SQLコマンドDROP TABLEを実行する機能になります。削除実行後のデータ復旧はできませんのでご注意ください。
  • 対象テーブルに指定 : CDBTプラグインの管理対象テーブルとして指定します。同時に一つしか管理対象テーブルにはできません。管理対象テーブルに指定されると、CDBTプラグイン設定にてテーブルデータの閲覧・登録・編集が可能になります。
  • テーブル一覧の更新 :
    テーブル一覧タブに表示されるテーブル一覧の内容を最新の情報に更新します。ブラウザのキャッシュなどで、実行内容が画面に反映されなかったりした場合は、このボタンを押して最新情報を取得しなおすことができます。

この利用可能テーブル一覧タブにて「対象テーブルに指定」に選択されたテーブルがある場合、そのテーブルはCDBT管理コンソールにてテーブルデータの管理ができるようになります。実際には「データ入力」「データ閲覧」「データ編集」の管理メニューが有効化されます。

「データ入力」画面では、管理対象テーブルに指定されているテーブルに対して、WEB上からデータの登録を行うことができます(下図参照)。

CDBTテーブルデータ登録

このデータ登録用のフォーム画面は、作成したテーブルのテーブル構造を元に自動で入力フォームが生成されます。
次に、「データ入力」画面で登録したデータをはじめ管理対象テーブルに登録された全データを閲覧する画面が、「データ閲覧」画面です(下図参照)。

CDBTテーブル内データ一覧

この画面では、キーワードを指定してデータの検索を行うことも可能です。検索を行うと、入力された検索キーワードを含むフィールド値を持つレコードのみを一覧化して表示します。なお、画像等のバイナリデータを格納しているフィールドが存在していた場合は、バイナリデータをプレビューできるリンクが自動で付与されます(下図参照)。

バイナリデータのプレビュー

バイナリデータが画像の場合はその画像がサムネイル表示され、画像以外のバイナリファイルの場合はファイル名がプレビューされます。
最後に「データ閲覧」画面と似たようなレイアウトを持っている「データ編集」画面の説明です(下図参照)。

CDBTテーブルデータ編集

この画面では、「データ閲覧」画面と同じようにフリーワードによるデータ検索が行える他に、登録されたデータの削除や編集、バイナリデータが格納されているレコードがある場合は、ファイルのダウンロードが行えます。この画面のみで行える各機能は下記の通りです。

  • チェックされた項目を削除する : 一覧化されている各データの左端にあるチェックボックスにチェックを入れたデータのみを一括で削除します。データの項目名を表示しているインデックス行のチェックボックスをクリックすることで、全選択および全チェック解除が行えます。
  • 編集 : その行のデータを編集することができます。ボタンをクリックすると、編集モードとして「データ入力」画面に遷移します。
  • ダウンロード : その行のデータにバイナリデータが含まれている場合のみ表示されます。ボタンをクリックすることでバイナリデータダウンロード用のモーダルウィンドウが表示されるので、そのモーダル内のリンクをクリックしてファイルのダウンロードを行うことができます。
  • 削除 : その行のデータを削除します。削除後のデータ復旧はできませんので、ご注意ください。

STEP3. テーブルを作成する

まず、CDBTプラグインを利用するには、テーブルを作成する必要があります。
この項ではCDBTプラグインでのテーブル作成について説明して行きます。CDBT管理コンソールの「設定・管理」から「テーブル作成」のタブを選んでください。下記の画面が表示されます。

CDBTテーブル作成

次にテーブルを作成する上で必要な情報を入力していきます。
テーブル作成で必ず設定しなければならない項目は「テーブル名」と「テーブル作成SQL」の二つです。それでは、各設定項目の設定方法や注意事項を説明します。

  • テーブル名 : WordPressのデータベース(MySQL)に追加されるテーブルの名前になります。日本語等のマルチバイト文字は利用できません、64文字以下の半角英数字と/.等のファイル名として使用可能な記号が利用できます。ただし、データベースであるMySQLがシステムとして予約されているフレーズは利用できません(予約語の詳しい説明はこちらを参照してください)。また、WordPressインストール時に初期テーブルとして作成されるコアテーブルの名前(例えばwp_postswp_user等)も利用できません。
     一般的にはテーブルの利用用途がわかるような名前を付けます。例えば製品を管理するために製品情報を格納するテーブルであれば、productsという名前が良いでしょう。
    なお、テーブル名には接頭辞という識別名を付けることができます。接頭辞とは、テーブル名の先頭にpf_のように付けられる文字のことです。接頭辞はシステム的に必要なものではなく、利用するアプリケーションや開発者などがテーブルを識別しやすくするためのものです。CDBTプラグインでは、デフォルトで「新しいテーブルを作成する際、テーブル名に WordPress の設定で定義されているテーブル接頭辞を使用します。」という設定が有効になっています。この設定が有効になっていると、入力したテーブル名に、自動で利用中のWordPressのコンフィグファイルにて定義されている接頭辞(デフォルトではwp_です)が付与されます。先のテーブル名の例であれば、productsの先頭にwp_のような接頭辞がつけられ、最終的に作成されるテーブル名はwp_productsとなります。
     現在設定中のテーブル名は「現在設定対象のテーブル名:」という欄にプレビューされるので、その欄のテーブル名を確認しながら命名すると良いでしょう。

  • テーブルコメント : テーブルコメントは必須な設定ではありませんが、設定しておくとテーブルを管理する時に利便性が向上します。テーブルコメントは特にMySQLのシステムとして利用されることは少ない1ため、便宜的にテーブル作成時の作成者のメモやテーブルの利用用途の簡単な説明欄などに利用されています。CDBTプラグインでは、このテーブルコメント欄の文字をそのテーブルの論理名として、システム側ではなくユーザー側が識別しやすいような名前を設定する項目として扱っています。日本語等のマルチバイト文字も利用できるため、例えば物理名となる前述のテーブル名がproductsだった場合、テーブルコメントに「製品管理」と設定しておくことで、ダッシュボードやテーブルデータ一覧画面でのテーブル名表記に「製品管理テーブル」と表示されるようなります。

  • データベースエンジン : 作成するテーブルにどのようにデータを格納し、どう取り扱うかという処理方式である「ストレージエンジン」の設定になります。CDBTプラグインではMySQLでサポートされているデータベースエンジンのうち「InnoDB」と「MyISAM」の二つから選択することができます。特段気にすることなくデフォルト値である「InnoDB」を選択しておいても問題ありません。
    ストレージエンジンを最適に指定したい場合は、下に挙げた二つのデータベースエンジンの特徴を理解して、作成するテーブルの利用用途に合わせて選択すると良いでしょう。

    • InnoDB : MySQL5.5以降デフォルトのストレージエンジン。トランザクション機能をサポートし、強固な読み込み一貫性機能とロールバックの機能を持っています。テーブル内に複数のテーブルやインデックスを格納できるクラスタードインデックスの仕組みがあり、データ検索性能が高いです。テーブル単位のファイルは構造だけで実データや参照系はテーブルスペースに保存されるため、テーブルが多いとバックアップ性能は低いです。ただし、InnoDBのテーブルは壊れにくい傾向があります。なお、テーブルのロック単位はレコード単位で、ロックのエスカレーションもないため、クエリをパラレルで実行でき、重いクエリによるパフォーマンス低下がMyISAMより少ないです。MySQL5.6より前のバージョンでは全文検索用のFULLTEXTインデックスが利用できません。
    • MyISAM : MySQL5.5より前のデフォルトストレージエンジン。テーブル単位で構造と実データ、参照系のそれぞれのファイルを持っていて、それらのファイルをコピーするだけでバックアップが可能です。MyISAMのテーブルは壊れやすいので定期的なバックアップが重要になります。また、特にバイナリデータを取り扱わない場合はデータ領域にフラグメンテーションが発生せず、高速なデータ検索が可能です。またデータ領域を読み取り専用に圧縮することもできます。ただしトランザクション機能はありません。テーブルのロック単位がテーブル単位なので、重いクエリを処理中はテーブル全体がロックされクエリ詰まりが発生してパフォーマンスが低下します。MySQLのバージョンに依存せず全文検索用のFULLTEXTインデックスが利用できます。
  • テーブル作成SQL : 作成したいテーブルの構造をSQL文で設定します。MySQLのSQLでテーブルを作成したことがある人向けの「直接編集モード」と、GUIでフィールドを追加していける「テーブルクリエーター」の二つのモードを利用してSQL文を作成することができます。
    CDBTプラグインで有効となる「テーブル作成SQL」はMySQL正規のCREATE TABLE文と若干異なる部分がありますので、注意する必要があります。
    一般的にMySQLにおけるテーブル作成のSQL文の書式は、 CREATE TABLE {table_name} ( {column_definition},...{key_definition} ) {table_option} {other_options} のように記述できます。
     {table_name}部にはその名の通りテーブル名が入ります。{column_definition}部はカラム定義部と呼ばれ、テーブル内のフィールドとなるカラム構造を定義します。その後に続いてキー部と呼ばれる{key_definition}部にてプライマリキーやインデックスといった参照系設定を定義します2。その後に文字コードやデータベースエンジンなどを指定する{table_option}部(オプション設定部)があり、最後にパーティション設定やSELECT文などを含められる{other_options}部という形式になっています。
    ただし、CDBTプラグインでの「テーブル作成SQL」に記述できるSQLについては、パーティション設定やSELECT文といった{other_options}部を含めることができません。また、{key_definition}3や{table_option}部4は自動で挿入されるため、この部分の定義は不要です(定義するとエラーになります)。
     さらに、{column_definition}部には先頭にプライマリキーとなるカラム「ID」が挿入され、末尾に登録日時(「created」カラム)と更新日時(「updated」カラム)が追加されます。そのため、これら自動追加カラムのカラム名「ID」「created」「updated」ど同名のカラムは作成できません。また、「ID」カラム以外のプライマリキーを設定することもできません5
     「直接編集モード」を利用する場合は、上記の制限に準じた形でSQL文をご入力ください。何かと制限が多いので、まず「テーブルクリエーター」を利用してベースとなるSQLを自動生成後、細部の設定を修正するという方法を推奨します。

  • テーブルクリエーター : テーブルクリエーターの項を参照してください。

  • ページ内最大表示数 : 入力必須の項目で、1以上の数値である必要もあります。この設定値はテーブル内データ一覧を表示する時のみ適応されます。その影響範囲は、CDBT管理コンソール内の「データ閲覧」「データ編集」と、ショートコードによって出力される「データ一覧」「データ編集」のリストとなります。デフォルト値はWordPressの「表示設定」の「1ページに表示する最大投稿数」で定義されている数値です。

  • テーブルデータ閲覧を許可するユーザー : CDBT管理コンソール内やショートコードにて出力されるテーブルデータ一覧にアクセスできるWordPressのユーザーロールを設定できます。デフォルトは「すべてのユーザー」に設定されていて、WordPressにログインしているか否かに関わらず、すべての訪問者に対してコンテンツが表示され、データの検索も可能です。

  • テーブルデータ登録を許可するユーザー : CDBT管理コンソール内やショートコードにて出力されるデータ入力フォームにアクセスできるWordPressのユーザーロールを設定できます。デフォルトは「投稿者以上」に設定されています。投稿者以上のロールに所属していないユーザーはWordPressにログインしても、このテーブルに対してデータを登録することはできません。

  • テーブルデータ編集を許可するユーザー : CDBT管理コンソール内やショートコードにて出力されるデータ編集リストにアクセスできるWordPressのユーザーロールを設定できます。実際のデータ編集はデータ登録と同一の処理となるため、前述のデータ登録を許可するユーザーよりデータ編集を許可するユーザーのロールが低いと、データの削除やバイナリデータのダウンロードはできるが、データ編集ができないというユーザーロールが存在することになるため、データ編集権限を持つユーザーロールはデータ登録権限のユーザーロールと同じかそれ以上のロールに設定しておくことをお奨めします。

設定項目への入力が完了したら、「テーブル作成」ボタンを押してください。
実際に実行されるCREATE TABLE文の確認用モーダルウィンドウが表示され、問題なければそのまま作成します。SQL文にエラーがない場合は、そのままテーブルが作成されます。エラーが出た場合は、エラーメッセージからSQLを修正して、再度「テーブル作成」ボタンを押してください。

テーブルクリエーターについて

テーブル作成SQLの編集モードの一つに「テーブルクリエーター」というものがあります。これはCDBTプラグインにおけるテーブル作成のCREATE TABLE文生成をSQLの知識がなくても簡単にできるようにしたツールです(下図参照)。SQLの知識がない人はこのツールからテーブル生成SQLを作成することを強くお奨めします。

テーブルクリエーター

「テーブルクリエーター」ボタンにスイッチすると、モーダルウィンドウが立ち上がり、そこにフィールド作成用のツールが表示されます。初期状態では1番目に「ID」、3、4番目に「created」と「updated」のカラムが出来ています。これら自動挿入されるカラムは削除したり編集したりできません。2番目に編集マークがついた行がありますので、右端にある「+」のボタンを押して、新規カラムを追加し、そこに作成したいカラム情報を入力していってください。最終的に編集マークのついた行に入力されている内容はSQL化されませんので、「+」ボタンを押して行番号のついたカラムとして定義してください。なお、作成した行には右端に「×」ボタンが表示されます。この「×」ボタンを押すことで、行を削除できます。また、行自体をドラッグ&ドロップして、順番を入れ替えることも可能です。
設定項目については下記を参照してください。

  • カラム名 : 作成するテーブルのフィールドの物理名のことです。日本語のようなマルチバイト文字は利用できません。半角英数字記号で入力してください。テーブル名と異なり、/.も使えます。なお、カラム名はそのテーブル内において一意である必要があり、テーブル名のように指定できない予約語はありません。
  • データ型 : そのフィールド(カラム)に格納されるデータ型の指定です。整数値のみを格納するカラムであればint型、文字列を格納するのであればvarcher型、バイナリデータを格納するのであればblob型など、用途に応じて指定してください。MySQLのデータ型についてはこちらを参照してください。
  • 文字列長 : そのフィールド(カラム)の最大文字数の指定です。データ型によって指定の要不要が異なります。また、指定できる値の範囲もデータ型に応じて異なり、基本的にはデータ型を選んだ時に設定されるデフォルト値のままで問題ありません。varcharcharはデフォルト値がなく入力が求められるので1~255にて指定してください。また浮動小数点型であるfloatや、配列型のenumsetといった型の場合は、値をカンマ区切りで入力します。マルチバイト文字列を含める場合はダブルクオートで括ってください。
  • 空不可 : データ登録時、そのフィールド(カラム)への入力が必須である場合はチェックを入れてください。この指定が有効になっているフィールドは、「データ登録」時の入力フォームにて入力が必須となります。
  • デフォルト値 : データ登録時にそのフィールド(カラム)へデータが入力されなかった場合に代わりに代入される値を指定します。
  • 属性 : そのフィールド(カラム)のデータ属性です。intfloatなどの数値型にのみ指定できるunsignedは、指定すると負の数値を無効化して、その分のレンジを正の数値に追加します6。zerofillも数値型にのみ指定でき、最大桁数に達しない数値の左側を0で埋めます7binaryasciiunicodeといった属性は数値型ではない文字列型のカラムに指定できます。
  • 自動採番 : この指定はオートインクリメントと呼ばれていて、これが指定されているカラムへはユーザーが任意にデータを登録することが出来ず、データが登録された順に連続した数値が自動で代入されます。この指定を行うフィールド(カラム)はint型などの整数型である必要があります。
  • カラムキー : そのフィールド(カラム)に対してキーインデックスを設定します。自動で追加される「ID」カラムがプライマリキーとなるため、primary keyは指定できません。また、データベースエンジンにInnoDBを指定したテーブルにおいてfulltextインデックスは指定できません8。外部キーであるforeign keyインデックスを指定するためには、リレーションするテーブルにて、対象となるカラムにあらかじめインデックスを貼っておく必要があります。
  • その他 : 参照オプションを指定できます。
  • コメント : そのフィールド(カラム)のコメントです。CDBTプラグインでは、このコメントをカラムの論理名として利用し、ダッシュボードやデータ一覧などでのインデックス名として表示されます。日本語のようなマルチバイト文字も利用可能です。

テーブルクリエーターでのカラム設定が完了した後、「SQL文をセットする」ボタンを押すことで、「テーブル作成」タブの「テーブル作成SQL」の入力フォームに生成されたSQL文が自動挿入され、直接編集モードに戻ります。
なお、テーブルクリエーターを利用する際にご注意いただきたい点として、一度テーブルクリエーターで設定して整形されたSQL文を直接編集モードで再編集し、その後にテーブルクリエーターに再度切り替えても再編集内容がテーブルクリエーターに取り込まれない事です。また、その状態でテーブルクリエーターから再度「SQL文をセットする」を実行してしまうと、再編集内容に上書きされてしまいますのでお気をつけください5

STEP3. テーブルを有効化する

作成したテーブルはそのままでは利用することができません。そのため、CDBT管理コンソールの「設定・管理」の「利用可能テーブル一覧」タブにて有効化する必要があります。
テーブル作成が完了した直後であれば、隣の「利用可能テーブル一覧」タブに切り替えてください(下図参照)。

CDBTテーブル一覧

利用可能テーブル一覧には先ほど作成したテーブルが新しく追加されていますので、そのテーブル名の行の右端にある「管理対象テーブルにする」ボタンをクリックしてください。ボタン表示が「選択中」に変わったら有効化完了です。

STEP4. テーブルにデータを登録する

有効化したテーブルにデータを登録する場合、CDBT管理コンソールの「データ入力」をクリックします。すると、有効化しているテーブルにデータを登録するためのデータ登録フォーム画面が表示されます(下図参照)。

CDBTテーブルデータ登録

必要なデータを入力した後、「登録する」ボタンをクリックすることで、データを1件ずつ登録することができます。

複数のデータを一括で登録する

作成したテーブルに複数のデータを一括登録することも可能です。
その場合、CDBT管理コンソールの「設定・管理」から「利用可能テーブル一覧」タブを開きます。そこで、データ一括登録を行いたいテーブル名の行の「インポート」ボタンをクリックします。
「データインポートの手順」というモーダルウィンドウが開きます(下図参照)。

データインポート

まず、「CSVをダウンロードする」ボタンを押して、データインポート用の雛形CSVをダウンロードします。ダウンロードしたCSVファイルには、テーブルのカラム名だけが並んだインデックス行のみが含まれていますので、そのCSVファイルに登録したいデータの行を追加していきます。
例えば、productテーブルへのインポート用CSVファイルはこのようになります。

ID,customer_id,product_code,product_name,description,status,release_date,created,updated
,53,PC-53-406101,product-1,description of product-1,2,2014-06-03 00:00:00,,
,2,PC-2-13405,product-2,description of product-2,0,2014-06-03 00:00:00,,
,46,PC-46-450631,product-3,description of product-3,0,2014-06-03 00:00:00,,
,81,PC-81-66481,product-4,description of product-4,0,2014-06-03 00:00:00,,
,19,PC-19-79498,product-5,description of product-5,0,2014-06-03 00:00:00,,
,87,PC-87-552424,product-6,description of product-6,2,2014-06-03 00:00:00,,
,11,PC-11-109139,product-7,description of product-7,2,2014-06-03 00:00:00,,
,12,PC-12-87939,product-8,description of product-8,0,2014-06-03 00:00:00,,
,70,PC-70-444004,product-9,description of product-9,2,2014-06-03 00:00:00,,
...

インポート用のCSVを作成する時に気をつけなければならないのは、プライマリキーであるIDカラムと最後尾のupdatedカラムには値を設定しないことです。これらのカラムにはデータ登録時に自動で値が代入されます。
では、出来上がったCSVファイルをアップロードします。
WEB上のCDBT管理コンソールの画面に戻り、「データインポートの手順」というモーダルウィンドウの「2.インポートデータが含まれるCSVファイルをアップロードする。」のファイルマネージャから作成したCSVファイルを選択して、「インポートする」をクリックします。
CSVのフォーマットに問題がなければ、データのインポートが行われ、テーブルにデータが登録されます。

STEP5. 登録したデータを閲覧する

有効化しているテーブルに登録されているデータを確認したい場合は、CDBT管理コンソールの「データ閲覧」をクリックします。登録されているデータがあれば、データの一覧が表示されます(下図参照)。

CDBTテーブル内データ一覧

しかし、このままでは、WordPressの管理画面にアクセスでき、CDBT管理コンソールを利用できるユーザーにしかデータを見せられません。データによっては、フロントエンドのユーザーにもデータ閲覧を許したいケースがあると思います。その場合は、ショートコードを使います。

フロントエンド側でゲストにもデータを閲覧させる

フロントエンド側でログインしていないゲストにもデータ閲覧させるには、まず閲覧させたいテーブルのデータ閲覧権限を確認します。CDBT管理コンソールの「設定・管理」から「利用可能テーブル一覧」タブを開きます。まず、該当のテーブルを「管理対象テーブルにする」を押して有効化します(後にショートコードを確認するためです)。
そして、「テーブル構造変更」をクリックして、確認モーダルウィンドウで「変更する」を選択してください。テーブル構造変更画面が開くので、「テーブルデータ閲覧を許可する」の設定が「すべてのユーザー」になっていることを確認してください。もし、「すべてのユーザー」以外のロールが設定されていた場合は、「すべてのユーザー」に指定して「テーブル構造変更」を実行してください9

テーブル閲覧のユーザーロールの準備ができたら、次に「ダッシュボード」をクリックします。テーブル構造表の下に「利用可能なショートコード」が表示されています(下図参照)。

CDBTダッシュボード画面

今回使うのは「テーブルデータのリストビューを出力するショートコード」になります。ここに表示されているショートコードをコピーしてください。
その後、WordPressで投稿でも固定ページでも構いませんので、ゲストユーザーでも閲覧できるページを作成し、コピーしたショートコードを本文にペーストしてください。
では、そのページにフロントエンド側からアクセスしてみます。下記のように表示されれば成功です。

ショートコードによるデータ一覧画面表示例

CDBTプラグインを使った基本的なテーブル管理の方法は以上です。


  1. SQLSHOW TABLE STATUSを実行した際に、そのテーブルのデータベースエンジンがInnoDBだった場合、MySQLはテーブルコメントとしてテーブルの空き領域の情報を報告します。 
  2. {column_definition}部と{key_definition}部を合わせた()内全体は{create_definition}部とも呼ばれます。 
  3. {key_definition}部に自動挿入される設定値は、プライマリキーとなる自動挿入カラムIDの設定値と、テーブルクリエーターでキー設定を行ったインデックスの設定値になります。 
  4. {table_option}部に自動で挿入される設定値はデータベースエンジンの定義であるENGINEと文字コード定義のCHARACTER SET、テーブルコメントのCOMMENT、オートインクリメント番号の開始値を初期化するAUTO_INCREMENTの最大4つです。それ以外のCOLLATEDATA DIRECTORYといった高度な設定値を設定することはできません。 
  5. テーブル作成SQLについては制限が多くて自由度が低いので将来的に改善したいと思っています。 ↩ ↩
  6. 例えばtinyintの有効値レンジは通常-128~127だが、unsigned属性を付けて符号無効化を行うと0~255となります。 
  7. zerofill属性には自動でunsigned属性が付与されて符号無効化されます。例えばtinyintの最大桁数は3桁なので、zerofillが付いたtinyint型カラムに1を登録すると、001となります。 
  8. MySQLデータベースのバージョンが5.6以上であれば、InnoDBでもfulltextインデックスを利用可能です。 
  9. 現在のバージョン(1.0.0)では、ALTER TABLEのSQLを発行しない形でのテーブル構造変更ができない仕様バグがあります。そのためダミーのSQLを発行して構造変更を行うという回避手段があります。その際のダミーSQLはデータベースエンジンを変更しないALTER TABLE table_name ENGINE=InnoDB(現状がInnoDBの場合)あたりが良いでしょう。