質問 > 管理機能 > DBの移行 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
arts |
投稿日時: 2011/3/17 21:01
対応状況: −−−
|
長老 登録日: 2009/2/7 居住地: 投稿: 268 |
DBの移行 DBの移行について教えて頂きたく投稿致しました。
MySQLからPostgreSQLへ移行を考えていまして、 一通り移行を終えました。 http://bton.papalabs.com/?p=955 上記を参考に移行をしていましたが、上記URL先の 1•vw_product_class 2•vw_products_allclass 3•vw_products_allclass_detail 4•vw_products_nonclass この辺りの変更については、ページのタイトルなどを、 商品ごとに設定できるようになっていますので、 1,2,3,4の記述が必要だと思い手探りで追加カラムを追記しました。 2と3と4については指定されている記述内容が 見当たらず、同じでは無かったので手をつけていません。 この状態で移行したデーターは反映されているようなのですが、商品登録画面で、登録を押下すると下記のようなエラーがでます。 SELECT * FROM vw_products_nonclass AS noncls WHERE product_id = ? DB Error: unknown error SELECT * FROM vw_products_nonclass AS noncls WHERE product_id = '133' [nativecode=ERROR: current transaction is aborted, commands ignored until end of transaction block] /home/*****/public_html/admin/products/product.php 34:LC_Page_Admin_Products_Product_Ex->process /home/*****/data/class_extends/page_extends/admin/products/LC_Page_Admin_Products_Product_Ex.php 56:LC_Page_Admin_Products_Product->process /home/*****/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php 169:LC_Page_Admin_Products_Product->lfRegistProduct /home/*****/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php 486:LC_Page_Admin_Products_Product->lfGetProduct /home/*****/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php 322:SC_Query->select /home/*****/data/class/SC_Query.php 95:SC_DbConn->getAll /home/*****/data/class/SC_DbConn.php 166:DB_common->getAll /home/*****/data/module/DB/common.php 1610:DB_common->execute /home/*****/data/module/DB/common.php 959:DB_pgsql->simpleQuery /home/*****/data/module/DB/pgsql.php 338:DB_pgsql->pgsqlRaiseError /home/*****/data/module/DB/pgsql.php 786:DB_common->raiseError /home/*****/data/module/DB/common.php 1853:PEAR->raiseError /home/*****/data/module/PEAR.php 557:DB_Error->DB_Error /home/*****/data/module/DB.php 893:PEAR_Error->PEAR_Error データーベースのエラーのようですが詳しい原因がわからない 状態です。 どなたか分かる方いらっしゃいましたらお助け願えないでしょうか。 どうぞよろしくお願いいたします。 EC-CUBEバージョン 2.4.4 PHPバージョン PHP 5.1.6 DBバージョン PostgreSQL 8.1.23 サーバー wadax |
yuse |
投稿日時: 2011/3/18 18:44
対応状況: −−−
|
一人前 登録日: 2011/2/13 居住地: 投稿: 76 |
Re: DBの移行 こんにちわ。
とりあえず、手っ取り早いところからですが、 SELECT * FROM vw_products_nonclass AS noncls WHERE product_id = '133' のSQLは単品で発行できてますでしょうか。(pgAdminなど使って確認) |
AMUAMU |
投稿日時: 2011/3/18 22:55
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: DBの移行 引用:
この辺りの変更については、ページのタイトルなどを、 具体的にこの作業として何をしましたか? VIEWの作成し直しを正しくしていますか?
|
arts |
投稿日時: 2011/3/19 0:01
対応状況: −−−
|
長老 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: DBの移行 yuse様
お返事ありがとうございます。 >>SELECT * FROM vw_products_nonclass AS noncls WHERE >>product_id = '133' >>のSQLは単品で発行できてますでしょうか。(pgAdminなど使>>って確認) こちらについてはpgadminのビューのvw_products_nonclass の product id 133番の商品が登録されているかどうかと言う意味で よろしいでしょうか。 1•vw_product_class 133は存在していませんでした。 2•vw_products_allclass 133は存在していました。 3•vw_products_allclass_detail 133は存在していました。 4•vw_products_nonclass 133は存在していました。 このようになりますが理解が違っていましたらお教え頂けると 幸いです。 AMUAMU様 お返事ありがとうございます。 ビューに関する作業は下記のようになります。 1vw_product_classを一度pgadmin上で破棄をしました。 2あらかじめ保存しておいた内容に、追加しているカラムを 追加しました。 具体的には t6.deliv_date_id,の後に、 t6.meta_description, t6.meta_keywords, t6.head_title, t6.h1 と追記してSQLを 実行しました。正常に処理されました。 3vw_products_nonclassも一度破棄してから、予めコピーしておいた内容に追記し実行しました。 具体的には、t1.comment6,の後に t1.meta_description, t1.meta_keywords, t1.head_title, t1.h1, を追記しました。 結果は正常に処理されました。 vw_products_allclass vw_products_allclass_detail この2つについては、追加カラムを記載するかどうかが判断つかな かった為何もしていない状態です。 説明が下手で恐縮ですがどうぞよろしくお願いいたします。 |
AMUAMU |
投稿日時: 2011/3/19 1:29
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: DBの移行 良くエラーを見ると、トランザクションエラーによるものなので、該当のクエリを実行する一つ前のクエリで何かしら失敗しているのでは無いでしょうか?
行数が標準の2.4.4と一致しないようなので、LC_Page_Admin_Products_Product.php 内で、不用意な問題のあるカスタマイズしていませんか? lfRegistProduct内のbeginと、問題となっているselectが実行される処理の間のカスタマイズ部分を見直すと良いと思います。
|
arts |
投稿日時: 2011/3/19 10:16
対応状況: −−−
|
長老 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: DBの移行 AMUAMU様
どうもありがとうございます。 LC_Page_Admin_Products_Product.php の現状の内容と 2.4.4のデフォルトの差分を確認致しました。 追加をしているカラム4つ分が差分として でてきました。 // 配列の添字を定義 $checkArray = array("name", "status"〜〜〜 // INSERTする値を作成する。 $sqlval['name'] = $arrList['name'];〜〜〜 この部分に4つのカラム名が同じ形式で追加してあります。 これはMySQLを使用していたころの記述で、正常に動いておりました。 ポスグレですと、記述内容が違うのでしょうか? mysqlの頃はエックスサーバーでポスグレの方はwadaxですので そこにも原因があるのかも知れませんね、、、。 |
arts |
投稿日時: 2011/3/19 10:43
対応状況: −−−
|
長老 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: DBの移行 今一度過去ログなど調べていましたら
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=7115&forum=11 ここにたどりつきました。 直接関係があるかは分からないのですが、同じようなエラーの 症状でしたので下記の部分をコメントアウトしました。 /* $objQuery->begin(); */ /* $objQuery->commit(); */ このようにしましたらエラーは出なくなりました。 csvでの商品登録も同じエラーがでていましたので同じように コメントアウトしましたら、商品登録は正常に完了しました。 このコメントアウトが何を意味するのか分かっていないのですが この状態で、運用するにあたって致命的な問題になるところは ありますでしょうか? 何度も申し訳ありませんがどうぞよろしくお願いいたします。 |
arts |
投稿日時: 2011/3/20 17:11
対応状況: 解決済
|
長老 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: DBの移行 とりあえず、エラーが無くなりましたので
閉めさせて頂きます。 お返事して頂けた方どうもありがとうございました。 |
AMUAMU |
投稿日時: 2011/3/20 19:15
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: DBの移行 >この状態で、運用するにあたって致命的な問題になるところは
>ありますでしょうか? 引用されている過去ログに問題点を返信していますので、そちらが参考になるかと思います。 同時編集時にはある程度問題が生じます。
|
arts |
投稿日時: 2011/3/20 20:55
対応状況: 解決済
|
長老 登録日: 2009/2/7 居住地: 投稿: 268 |
Re: DBの移行 なるべく同時編集はしないようにしたいと思います。
どうもありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |