web-dev-qa-db-ja.com

Joomla 1.5からJoomla 3へのデータベースの転送に関する推奨プラクティス

約300の記事をJoomla 1.5のWebサイトからJoomla 3.3.1のWebサイトに転送したいと考えています。

私はJoomla 1.5データベースにのみアクセスできますが、バックエンドにはアクセスできません(joomla 3.3.1 Webサイトでは両方にアクセスできます)。

Joomla 3.3のxx_contentテーブルには、Joomla 1.5のxx_contentテーブルと同じ構造/列がないため、SQLクエリを実行することはできません(両方のテーブルが同じデータベースにあります)。

それを行うために推奨される方法は何ですか?

私の推測では、J1.5 xx_contentをcsvにエクスポートし、J3.3 xx_contentの構造を反映するように変更してから、J3.3 xx_contentにインポートします。しかし、もっと簡単なものはないのでしょうか。

7
MagTun

私があなたに行うことをお勧めします:

  1. #__usersテーブルとは別に、Joomla 1.5サイトのデータベースをエクスポートします
  2. ローカルホストにJoomla 1.5の新しいコピーをインストールします
  3. 以前ダウンロードしたデータベースダンプをインポートする

これで、すべてのコンテンツを含む新しいJoomla 1.5サイトができました。

  1. インストール redMIGRATOR これは、サイトをJoomla 3.xに移行するJoomla 1.5拡張機能です
  2. サイトが正常に移行されたら、#__contentテーブルのデータベースダンプを取得します。
  3. アクセス権があると言ったliveJoomla 3サイトで、ローカルホストから取得したデータベースダンプをインポートします。

お役に立てれば

7
Lodder

最後に、CSVを介してエクスポート/インポートを実行しました(フルテキストエントリもすべて編集する必要があったため)、検索する必要があったのは次のとおりです。

  1. cSV経由でDBをエクスポートし、Open Office Calc *で編集します
  2. joomla3.3構造と一致するように列を編集します。
  3. asset_idFKOに設定すると、バックエンド/フロントエンドから記事を開く/保存するときに、Joomlaが正しい値を割り当てます。

すべてのエントリをカプセル化するには"

  1. Open Office Calcで、すべてのセルをテキストにフォーマットします。CTRL+ A、右クリック、テキストを確認
  2. [名前を付けて保存:CSV]を選択し、[フィルター設定の編集]を確認します
  3. ポップアップで、「同じ形式を維持する」(ODTを選択しないでください)とチェック:すべてのテキストセルを引用します(スクリーンショットの場合はthis question を参照)

エスケープされたコンマ:理由はわかりませんが、Open Officeはエスケープされたすべてのコンマ\"\""に置き換えるため、 .csvをテキストエディターでNotepad ++として検索し、\""\"に置き換えます。

  • Excelでやってみたのですが、西洋の特殊文字がいるので文字化けしてしまいました。ただし、Excelで行う必要がある場合は、.CSVの最初の行にsep=;を追加して、Excelにセパレーターを指定します。
4
MagTun