- import環境作成  1.サーバ上にImportデータベースを作成 すでにTestDBなどが存在しても、不要データを含まない本番稼働用のDBを作成するため、空の状態から作成する 新規データベースを作成する欄 ・DB名 :xxx_import xxxは学校名 例:swu_import ・文字コード  :utf8_general_ci ・MySQL 接続の照合順序 :utf8_general_ci 2.DBのユーザー設定を行う PHPMyadminのサーバメニュー 特権−新しいユーザを追加する、すでにユーザがある場合はユーザを選択してImportDBの特権を追加する ユーザ名:xxx_sms ホスト: localhost パスワード:”パスワードを生成する”で生成したものかテストと同じもの、configファイルと一致させる ユーザ専用データベース:なし グローバル特権:データ すべてチェック 構造 すべてチェック 管理 LOCK TABLES のみチェック 3.236のサーバのsampledb_smsをエクスポート、同サーバの場合はコピーでもよい 4.エクスポートしたSQLをimportDBにインポートする 5.サーバ上のTechnoSMSのZIPからImport環境を作成(upload_guide.txt参照) 6.Import.configを作成してUP 7.DBの最新化 Adminでサイトにログインし、DBを最新化する DBKanriを実行してデータベースをVardefから作成する db_updateを実行する *以下のツールはsampledb_smsで実行済のために、作業しなくてよい -- MySQL5.6に対応するために、以下のツールを実行する  -- (サーバで実行できなければLocalにコピー後に実行し、再度DBKanriと整合をとる)  -- http://localhost/KAIHATSU/GENEL/db_utilities/mysql_5_6_NULL_converter.php 8.サポートにサイトの校舎や権限の設定をしてもらう - データ移行 事前準備:移行に使用するDBはサーバとLocal(移行ツールで使用)で常に同じ状態でないといけないため(DBのカラムに差異があるとCSVのインポートがずれる) ツールを使用する際には、常にDBKanriとdb_updateの更新を行う 1.Localにサーバにxxx_importを作成し、サーバのImportDBをエクスポートして、Localにインポートする 2.csv-makerにSchool用のIDを作成する(作業フォルダにも適用されるため) 以下のファイルにIDとパスワードを追加する \csv-maker\data\accounts.json 3.DB保存用のテーブルをLocalに作成する DBにテーブル追加 以下のSQLをLocalで実行 http://localhost/csv-maker/lib/techno-csv/resources/tbs_format_config.sql *DBを削除すると、設定を保存したテーブルも消えてしまうので、エクスポートしておくとよい 4.http://localhost/csv-maker/public/にアクセスする(ブラウザは指定なし) ユーザ名・パスワード:2で作成したもの 5.読み込みもとのテーブルの設定 データベースの接続設定:インポート先のテーブルを指定する 例:Localhost/root/ /swu_import ホスト名、ユーザ名、パスワードを設定して、設定の更新ボタンをクリックすると、Local上のDBリストがデータベース名のプルダウンに表示される xxx_importを選択し、設定の更新ボタンをクリックする CSV ファイル:読込元のCSVファイルを選択する 読み込むテーブル:読込元のCSVファイルを選択する 作成するテーブル:インポート先のテーブルを指定する *読込むCSVファイルはUTF8になるため、文字コードが違う場合はエディタ等で変換が必要 *読みこんだCSVファイルは「C:\wamp\www\csv-maker\data\user\ユーザ名\tables」にコピーされるため、 ブラウザ上で削除して追加しなくても直接読み込んだファイルを変更可能 6.マッピング表を基に、データの変換が必要なものはFunctionを作成する   C:\wamp\www\csv-maker\functions\field ファイル名とクラス名を同じにして作成 $name :処理関数欄に表示される名称 $argument_count :設定の引数の数 $CODE_MAP :文字変換などのマッピングに使用 apply function :変換関数 is_applicable :インポートするテーブル名とカラムを設定 ここの設定により処理関数欄に表示される 7.テーブルのフィールド設定   処理関数 結合 :文字列結合 数値加算 :特定の数値を加算 文字は無視される Null値 :nullで出力 対象値の存在:空白とその他で変換 引数:元データ、空白時の値、空白以外の値 例:空白は1に変換、それ以外はそのまま移行 引数:元データ、1、元データ 数値の変換 :小さい数値の変換 引数:元データ、設定地以外の値、0入力の時の値、1入力の時の値、2入力の時の値、・・・・ 例:0→1 1→2 引数:元データ、元データ、1、2 空文字列は NULL:空文字列の時、NULL を出力します。その他は、そのまま返します 文字列取得 :Substringと同様 printf :Sprintfと同様 ゼロ埋め等に使用 カスタム関数:特定のフィールドで処理関数欄に表示される。(3で作成したFunction) 引数 固定文字列 :日付や、固定値等 列参照 :読込元CSVのタイトル名で指定 行番号 :CSVの行番号 *カスタムファンクションはリフレッシュで表示されるが、設定が消えてしまうので注意! 設定を保存すると、再読み込みするためカスタムファンクションが反映される。 *テーブルのフィールド設定のURLはブックマークしておくと同じテーブル設定が読み込まれる。 8.テーブルのフィールド設定を保存する   タイトルの下にある「保存」をクリック 作成した設定を保存し、必要な場合は再度読み込む *ファイル保存 保存場所:C:\wamp\www\csv-maker\SCHOOL_FILES\xxx xxxは学校名 例:swu *ファイル名は出力するテーブル名で生成されるため、同じテーブルに複数CSVから移行する場合は同じファイル名になるため注意する。 *DB保存 DBにテーブル追加 以下のSQLをLocalで実行 http://localhost/csv-maker/lib/techno-csv/resources/tbs_format_config.sql 9.CSV出力 画面右下の作成するボタンでCSVの出力を行う 元データの行数と出力されたCSVの行数が同じなら成功 エラーの場合は成功しているところまでのデータが出力され、エラー行の内容がメッセージとともに配列表示される。 - DBにインポート PHPMyadmin上 1.インポートするDBとテーブルを選択し、インポートタブをクリック インポートするファイル:csv-makerから出力されたCSV 部分インポート 先頭から数えたスキップするレコード(クエリ)の数 :1(タイトル行スキップ) インポートするファイルの形式:LOAD DATA する CSV フィールド区切り記号:, 行の終端記号 :\r\n カラム名 :csv-makerの設定で使用したDBのテーブル構成がインポートするテーブルと違う場合に設定する。 通常は設定しないか、出力されたCSVの1行目をコピーすればよい。 2、インポート実行 インポートされた行数と、csv-makerから出力されたCSVの行数があっていれば成功 3.インポートしたLocalをエクスポートしてSQLをサーバのImportDBで実行するか、 データ量が多い場合は直接CSVをサーバ上にインポートする。 その際、インポート時のカラム名に注意