抹茶のバージョンアップ方法

抹茶のバージョンアップ方法は以下の通りです。

SNS、請求書ともに同一手順となります。

事前準備の流れ

1) 差分ファイルのダウンロード
2) ソース、データベースをバックアップ

更新作業の流れ

1) データベースの構成変更を反映
※データベースの構成変更を伴わない場合は必要ありません。
2) ソースを上書き
3) キャッシュを削除

設置ディレクトリ、データベース名を以下のように定義して説明します。
適宜ご自身の環境に合わせて置き換えてください。

設置ディレクトリ: /var/www/html/sns
データベース名: db_sns

事前準備(1) 差分ファイルのダウンロード

ここでは、1つ前のバージョンからのバージョンアップ方法について説明します。
複数のバージョンをまたがって一気にバージョンアップする方法は最下部で説明します。

zip形式になっていますので、ダウンロード後解凍してください。

  • src
    バージョンアップで変更されたソースが格納されています。
  • sql
    データベースの構成変更に使用するsqlファイルが格納されています。

データベースの構成変更を伴わない場合は、sqlディレクトリはありません。
また、srcディレクトリがなく、解凍したフォルダにそのままソースが格納されている場合がありますので、適宜置き替えてください。

事前準備(2) ソース、データベースをバックアップ

バージョンアップを行う前に、必ずバックアップ作業を行ってください。
ソース、データベース両方のバックアップが必要です。

更新作業(1) データベースの構成変更を反映

解凍したファイルにあるsqlディレクトリにはAlter.sqlAlter_prefix.sqlというファイルが同梱されております。

抹茶SNSをインストールした際に
データベースにプレフィックスを設定されていない方はそのままAlter.sqlを
プレフィックスを設定された方はAlter_prefix.sqlを
テキストエディタなどで開き、「matcha_」という文字列をご自身が設定したプレフィックスに置換してからご利用ください。

そこに以下のようなSQL文が記述されています。

-- 請求書テーブルに消費税端数処理カラムを追加
ALTER TABLE `T_BILL` ADD COLUMN `TAX_FRACTION` int(2) NOT NULL DEFAULT 1 AFTER `FRACTION`;
ALTER TABLE `T_BILL` ADD COLUMN `TAX_FRACTION_TIMING` int(2) NOT NULL DEFAULT 0 AFTER `TAX_FRACTION`;
  
-- 自社設定テーブルに消費税端数処理カラムを追加
ALTER TABLE `T_COMPANY` ADD COLUMN `TAX_FRACTION` int(2) NOT NULL DEFAULT 1 AFTER `FRACTION`;
ALTER TABLE `T_COMPANY` ADD COLUMN `TAX_FRACTION_TIMING` int(2) NOT NULL DEFAULT 0 AFTER `TAX_FRACTION`;

-- 顧客テーブルに消費税端数処理カラムを追加 
ALTER TABLE `T_CUSTOMER` ADD COLUMN `TAX_FRACTION` int(2) NOT NULL DEFAULT 1 AFTER `FRACTION`;
ALTER TABLE `T_CUSTOMER` ADD COLUMN `TAX_FRACTION_TIMING` int(2) NOT NULL DEFAULT 0 AFTER `TAX_FRACTION`;

-- 納品書テーブルに消費税端数処理カラムを追加 
ALTER TABLE `T_DELIVERY` ADD COLUMN `TAX_FRACTION` int(2) NOT NULL DEFAULT 1 AFTER `FRACTION`;
ALTER TABLE `T_DELIVERY` ADD COLUMN `TAX_FRACTION_TIMING` int(2) NOT NULL DEFAULT 0 AFTER `TAX_FRACTION`;

-- 見積書テーブルに消費税端数処理カラムを追加
ALTER TABLE `T_QUOTE` ADD COLUMN `TAX_FRACTION` int(2) NOT NULL DEFAULT 1 AFTER `FRACTION`;
ALTER TABLE `T_QUOTE` ADD COLUMN `TAX_FRACTION_TIMING` int(2) NOT NULL DEFAULT 0 AFTER `TAX_FRACTION`;

※このSQL文はAlter.sqlのものです。

コマンドラインでデータベースを更新する方法

1)サーバー上にAlter.sqlをアップロードしたあと、以下のコマンドを実行してください。

mysql -u ユーザー名 -pパスワード データベース名 < Alter.sql

phpMyAdminでデータベースを更新する方法

1)サーバーに設置しているphpMyAdminを開き、抹茶で使用しているデータベースを選択してください。

2)インポートボタンをクリックしてください。
update258pma001

3)アップロードファイルの「ファイルを選択」を押下し、「Alter.sql」を選択してください。
4)ページ下部の「実行」ボタンを押下してください。
update258pma002

MySQL Workbenchでデータベースを更新する方法

1)抹茶のデータベースがインストールされているサーバーを選択してください。

2)左のメニューの「Data Import/Restore」を選択してください。
update258workbench001

3)「Import from Self-Contained File」を選択してください。
4)アップロードするファイルを選択してください。
5)「Default Target Schema」で抹茶で使用しているデータベースを選択してください。
6)右下の「Start Import」を押下してください。
update258workbench002

更新作業(2) ソースを上書き

FTPかSCPなどを実行できるソフトウェアを利用してサーバに接続して、src以下のファイル・フォルダを全て、上書きしてください。

※注意
更新ファイルにapp/config/core.phpがある場合は、更新前のファイルの以下2項目の値をバックアップして、更新後のファイルに反映させてください。値が変更になった場合は、ログインができなくなりますのでご注意ください。

Configure::write('Security.cipherSeed', '76859365745354249674968364125');
Configure::write('Security.salt', 'DYhG93b0efayJfIxfs2guVoUubWwvniR2G0FgaC9mi');

更新作業(3) キャッシュを削除

更新したファイルを反映させるために、キャッシュを削除する必要があります。

対象ディレクトリ: app/tmp/cache/models

emtpy以外のファイルをすべて削除してください。

ほとんどの場合はmodelsディレクトリのキャッシュを削除すれば問題ないのですが、動作が不安定な場合は、app/tmp/cache/persistentディレクトリのキャッシュ(empty以外)についても削除してみてください。

以上でバージョンアップ作業はすべて完了となります。

フッターで新しいバージョンが適用されていることを確認してください。

複数のバージョンをまたがって一気にバージョンアップする方法

最新版の完全ソース(差分ではありません)ですべて上書きし、バージョンアップ間で必要なSQLを古いほうから順番に実行すれば可能です。

更新ファイルが多くなりますので、必ずバックアップを取得してから行ってください。

カテゴリー: バージョンアップ, 共通 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*