web-dev-qa-db-ja.com

Joomla 3.6データを繰り返し可能からサブフォームに移行する方法

新しいフィールドタイプのサブフォームは、フィールドが同じ名前であっても、繰り返し可能な古いデータを取得しません。繰り返し可能な投稿を多数作成しました。データは、com_conentの追加フィールドに格納されます。列を正確にattribsします。

これは私のすべてのデータの廃止された繰り返し可能なフィールドの構造です

"image_gallery":"{\"image\":[\"images\/portfolio\/default\/web\/web_01.jpg\",\"images\/portfolio\/default\/web\/web_02.jpg\"],\"image_alt\":[\"\",\"\"]}"

これは、同じデータを持つ新しいサブフォームフィールドの構造です。

"image_gallery":{"image_gallery0":{"image":"images\/portfolio\/default\/web\/web_01.jpg","image_alt":""},"image_gallery1":{"image":"images\/portfolio\/default\/web\/web_02.jpg","image_alt":""}}

質問:SQLクエリを実行して古いデータを変更し、新しい構造にアップグレードするにはどうすればよいですか。

そのようなデータを更新するためのクエリスクリプトなどが必要です。前もって感謝します。

5
Leoalv

このデータをSQLクエリで処理することはお勧めしません。完全ではなく、データを検証するツールがありません。どうして?データの破損につながる可能性のある文字列を厳密に処理する必要があります。言うまでもなく、適切なクエリの作成とテストには時間がかかります。

解決

私がお勧めするのは、CLI Joomla!アプリケーション。 Joomlaにアクセスできます!フレームワークとあなたはあらゆる種類のJoomlaを使用することができます!データを検証/処理するためのテーブルとモデル。また、データが壊れていないかどうかを確認することもできます。もちろん、あなたはウェブサイトのコピーでそれをするか、少なくともあなたのデータベースのバックアップを持っているべきです。希望する場合は、ブラウザからもCLIアプリケーションを強制的に動作させることができます。

CLIアプリケーションの例

例として、/cli Joomla内のディレクトリ!インストールまたはここ: https://github.com/joomla/joomla-cms/blob/staging/cli/garbagecron.php

1
Artur Stępień