目次
CHAPTER 1 管理機能をカスタマイズする
SECTION-6 その他
Tips 022 ブロックをスクリプトで作成する

ブロック生成シェルスクリプトをPostgreSQLにも対応させる

tags:
その他
シェルスクリプト
PostgreSQL
DB
ブロック

シェルスクリプトにはMySQLとPostgreSQLの両方の設定が記述されていますが、実際はMySQL環境でしか動作しません。

以下の変更を加えることで、PostgreSQLでも動作するようになります。

PostgreSQL用のスクリプトを変更する


createbloc.sh 189行目あたり
追記
echo SQLファイル:createbloc.sql
if [ $DB_SERVER = mysql ]; then
    SQL=`echo "INSERT INTO dtb_bloc VALUES(NULL,\"$NAME\",\"bloc/$1.tpl\",\"$1\",NOW(),NOW(),\"frontparts/bloc/$1.php\",0);"`
elif [ $DB_SERVER = pgsql ]; then
    SQL=`echo "INSERT INTO dtb_bloc (bloc_name,tpl_path,filename,php_path,del_flg) VALUES('$NAME','bloc/$1.tpl','$1','frontparts/bloc/$1.php',0);"`
fi

echo $SQL > createbloc.sql

if [ $DB_SERVER = mysql ]; then
    mysql -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME < createbloc.sql
elif [ $DB_SERVER = pgsql ]; then
    psql -h $DB_HOST -U $DB_USER -f createbloc.sql -d $DB_NAME
fi
}

DBの環境設定にあわせて、生成するSQLファイルとコマンドを切り替えるようにしています。

PostgresSQLで利用する際には、DBNAMEをmysqlからpgsqlに変更し、その他の設定項目も環境にあわせて変更してください。
変更
#DB_SERVER=mysql
DB_SERVER=pgsql
DB_HOST=localhost

サポート情報を探す

ダウンロードファイルの入手はこちら!

EC-CUBEのカスタマイズのご依頼は

全国有名書店で好評発売中!

オレンジ岸本がEC-CUBEの激役立ちTipsを100個一気に大公開!EC-CUBEに関わる全ての方々、必見の一冊。

  • Amazon.co.jp
  • 楽天ブックス