質問 > その他 > 1系から2系へのDB移行について |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dakara |
投稿日時: 2008/11/6 16:38
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2008/11/6 居住地: 投稿: 5 |
1系から2系へのDB移行について 1系から、2系へ乗り換えたいのですが、
現在の商品登録情報・購入履歴・会員情報のみでいいのですが、DB情報は、そのまま使えるのでしょうか? 並べ替え等の変換等が必要なようでしたら、作業を依頼できる法人・個人があれば教えてください。 |
homan |
投稿日時: 2008/11/6 21:08
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 1系から2系へのDB移行について 文字コードなどに気を付ければ、基本的に問題ないと思います。
僕は1系(1.4系:MySQL4系)から2系(PostgreSQL8.3系)に何度か移行作業したことがあります。 商品情報といっても、商品情報にはカテゴリや規格も大きくかかわっていますので、だいたい以下のテーブルの情報を移行する必要があります。(もっというと、購入履歴も移行ということは支払方法や配送方法も移行しておくのが無難です) ・dtb_category(カテゴリ) ・dtb_class(規格名) ・dtb_classcategory(規格の内容) ・dtb_customer(顧客情報) ・dtb_deliv(配送業者) ・dtb_delivfee(送料表) ・dtb_delivtime(配送時間) ・dtb_order(受注情報) ・dtb_order_detail(受注情報詳細) ・dtb_other_deliv(他のお届け先) ・dtb_payment(支払方法) ・dtb_products(商品情報) ・dtb_product_categories(これは1系に存在しないテーブルだが、後に記すSQL文でデータを取得可能) ・dtb_products_class(商品と規格のひも付け) ・dtb_review(商品レビュー(必要があれば)) ちなみに僕の場合は、上記に加えメールの履歴やメルマガテンプレートなど、必要になりそうなものはすべて移しています。 2系にあって、1系にないのが「dtb_product_categories」なので、以下のSQL文を発行した結果をdtb_product_categoriesに格納するとよいです(1.4.2では無かったのですが、最新の1系ではあるのかもしれません)。
あとは、MySQLの場合はAUTO_INCREMENT値、PostgreSQLの場合はシーケンス値が移行元と移行先で同じになるように気をつけて下さい。画像は/html/upload/save_image さえあればどうにかなります(mobile_imageはモバイルでアクセスすれば自動で生成されますので) 参考になれば幸いです ![]()
|
dakara |
投稿日時: 2008/11/7 14:16
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2008/11/6 居住地: 投稿: 5 |
Re: 1系から2系へのDB移行について ありがとうございます。 引用:
案の定、2.3.1を入れたら、phpMyAdmin上の文字が、「食å“」のように文字化けしてしまします。 表示上は問題ないです。 で、インポートするとphpMyAdminはいいのですが、サイトの表示が、????になってしまいます…。 お助け下さい。 |
homan |
投稿日時: 2008/11/7 16:07
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 1系から2系へのDB移行について 文字コードは 1系がEUCだったのですが、2系ではUTF-8にする必要があります。同じサーバ上で同じMySQLを使った場合は難しいかもしれません。
僕の場合はMySQLからPostgreSQLに移行という形でデータベースが異なった為、同じサーバ上でも特に問題ありませんでした。
|
dakara |
投稿日時: 2008/11/8 4:06
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2008/11/6 居住地: 投稿: 5 |
Re: 1系から2系へのDB移行について サーバーはラピッドサイトを使っており、サーバーのサポート情報を見ながらPostgreSQLをインストール&フォーラム内を参考になんとかEC-CUBEインストールをしました。
引用:
phpMyAdminからエクスポートし、phpPgAdminでインポートしようとしても、XMLでもCSVでもエラーとなってしまいます。 DB間の移行はどういった方法で行うのでしょうか? 環境 PostgreSQL 7.4.19 MySQL 4.1.22 |
dakara |
投稿日時: 2008/11/10 1:06
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2008/11/6 居住地: 投稿: 5 |
Re: 1系から2系へのDB移行について EC-CUBEの学校に、このように書いてあったので期待してます!
引用:
とりあえず、ギリギリまでは現在の環境で粘ってみます ![]() こちらで先に教えて頂ければ、大変うれしいですが…。 |
masyaru |
投稿日時: 2008/11/10 9:27
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2008/10/23 居住地: 投稿: 4 |
Re: 1系から2系へのDB移行について
|
homan |
投稿日時: 2008/11/10 12:27
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2007/7/2 居住地: 宮崎県宮崎市 投稿: 633 |
Re: 1系から2系へのDB移行について 僕の環境で実際にうまくいった例なので、効率とかそういったことは全く考慮されていないことを念頭においてください
![]() 環境によってはうまくいかないこともありえます。作業される方はテストを十分行うなどし、自己責任でお願いします。 【前提】 ・MySQL4.1からPostgreSQL8.3にデータ移行します。 ・phpMyAdminとphpPgAdminをそれぞれ利用します。 ・現状のMySQLにインストールしているEC-CUBEの情報が、phpMyAdmin、EC-CUBE側の両方で文字化けせず閲覧可能である。 (phpMyAdminで見たときに文字化けが発生していると、エクスポートした情報も文字化けしている可能性が高いので、使いものになりません) ・データベースが違うので、同一サーバでも作業可能だと思います。 【作業の流れ】 ≪MySQLの作業です≫ (1)phpMyAdminにログインし、目的のデータベースに接続する。 (2)目的のテーブルにアクセスし、エクスポートをクリック。 (3)エクスポートで「MS Excel用のCSV」にチェックをいれ、 NULLの代替文字列「\N」 「1行目にフィールド名を追加する」にチェック Excelのエディション「Windows」 に設定して「ファイルに保存する」にチェックをいれ「実行する」ボタンをクリックする。 するとダウンロードが始まるので、保存する。 (4)エクスポートしたテーブルの「次へ Autoindex」の値をメモしておく。中にはないものもあります(dtb_baseinfo等) ※後にPostgreSQLの「シーケンス値」にこの値を反映させる。 ※dtb_product_categoriesは1系にはテーブルがないので、 以下のSQLを発行して、結果をエクスポートしてダウンロードする。 SELECT product_id, category_id, rank FROM dtb_products (5)エクスポートしたファイルをテキストエディタで開く。 文字コードがUTF-8以外だったら、UTF-8で保存しなおす。 ※このとき、文字化けが発生しないように注意。 1行目にフィールド(カラム)名が挿入されているが、 フィールド名とフィールド名の間を区切るカンマ(,)に 半角スペースが入っているとphpPgAdminでインポートエラーになることがあるので、 「フィールド名, フィールド名…」となっていたら 「フィールド名,フィールド名…」という風に半角スペースを消しておく。 ------------------------------------- ≪ここから下はPostgreSQL側の作業です。≫ (5)phpPgAdminにログインし、目的のDBへアクセスする。 (6)目的のテーブルのデータを空っぽにする。 (7)目的のテーブルにデータをインポートする。 その際、フォーマットはCSV、NULL文字は「\N」にする。 (8)「インポートが完了しました」というようなメッセージが表示されれば完了。 エラーが発生したらエラー内容をよく見て修正し、 再度アップロードする。 (9)先ほどメモしておいた「次へ Autoindex」の値を、シーケンス値に反映させる。 結構地味な作業なので、エクセルなどで移行のための表をつくり、 地道に潰していった方が間違いがなくていいと思います。 効率を考えるならば他にももっと良い方法があるかもしれませんが、今のところ追いかけていないのでこの方法しか御説明できません。くれぐれもテストを十分してください。
|
dakara |
投稿日時: 2008/11/12 3:19
対応状況: 解決済
|
新米 ![]() ![]() 登録日: 2008/11/6 居住地: 投稿: 5 |
Re: 1系から2系へのDB移行について 出来ました!
ありがとうございます! NULL文字を「\N」でエラーでしたが、「NULL」としたら出来ました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |