{"id":929,"date":"2015-10-15T08:04:56","date_gmt":"2015-10-15T08:04:56","guid":{"rendered":"https:\/\/www.taywa.ch\/blog\/?p=929"},"modified":"2015-10-15T08:38:55","modified_gmt":"2015-10-15T08:38:55","slug":"pi_flexform-felder-typo3-datenbank-migrieren-mysql","status":"publish","type":"post","link":"https:\/\/www.taywa.ch\/blog\/mysql\/pi_flexform-felder-typo3-datenbank-migrieren-mysql\/","title":{"rendered":"pi_flexform Felder in der Typo3 Datenbank migrieren (direkt mit MySQL)"},"content":{"rendered":"<p>bei der migration von Typo3 4.5 auf 6.2 kommt es vor, dass die konfiguration der inhalte (im feld pi_flexform gespeichert) umformatiert werden muss, da sich zb. beim redereing von <strong>media inhaltselementen<\/strong> einiges ge\u00e4ndert hat.<\/p>\n<p>gl\u00fccklicherweise kann man in der MySQL abfrage direkt XPATH selektionen mit der funktion <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.1\/en\/xml-functions.html\" title=\"MySQL Extractvalue Referenz\">ExtractValue<\/a> machen. mit CONCAT kann man dann das neue pi_flexform XML wieder zusammensetzten.<\/p>\n<p>hier ein beispiel zum aktualisieren der media elemente vom typ audio:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">UPDATE `typo3-datenbank`.`tt_content` SET `pi_flexform` = CONCAT('&lt;?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?&gt;\r\n&lt;T3FlexForms&gt;\r\n    &lt;data&gt;\r\n        &lt;sheet index=\"sGeneral\"&gt;\r\n            &lt;language index=\"lDEF\"&gt;\r\n                &lt;field index=\"mmType\"&gt;\r\n                    &lt;value index=\"vDEF\"&gt;audio&lt;\/value&gt;\r\n                &lt;\/field&gt;\r\n                &lt;field index=\"mmUseHTML5\"&gt;\r\n                    &lt;value index=\"vDEF\"&gt;0&lt;\/value&gt;\r\n                &lt;\/field&gt;\r\n                &lt;field index=\"mmWidth\"&gt;\r\n                    &lt;value index=\"vDEF\"&gt;&lt;\/value&gt;\r\n                &lt;\/field&gt;\r\n                &lt;field index=\"mmHeight\"&gt;\r\n                    &lt;value index=\"vDEF\"&gt;&lt;\/value&gt;\r\n                &lt;\/field&gt;\r\n                &lt;field index=\"mmRenderType\"&gt;\r\n                    &lt;value index=\"vDEF\"&gt;auto&lt;\/value&gt;\r\n                &lt;\/field&gt;\r\n            &lt;\/language&gt;\r\n        &lt;\/sheet&gt;\r\n        &lt;sheet index=\"sVideo\"&gt;\r\n            &lt;language index=\"lDEF\"&gt;\r\n                &lt;field index=\"mmFile\"&gt;\r\n                    &lt;value index=\"vDEF\"&gt;&lt;\/value&gt;\r\n                &lt;\/field&gt;\r\n            &lt;\/language&gt;\r\n        &lt;\/sheet&gt;\r\n        &lt;sheet index=\"sAudio\"&gt;\r\n            &lt;language index=\"lDEF\"&gt;\r\n                &lt;field index=\"mmAudioFallback\"&gt;\r\n                    &lt;value index=\"vDEF\"&gt;',\r\n                                                                    \r\nExtractValue(pi_flexform, '\/\/sheet&#x5B;@index=\"sAudio\"]\/\/value'),\r\n                                                                    \r\n                        '&lt;\/value&gt;\r\n                &lt;\/field&gt;\r\n                &lt;field index=\"mmAudioSources\"&gt;\r\n                    &lt;el index=\"el\"&gt;\r\n                        &lt;section index=\"1\"&gt;\r\n                            &lt;itemType index=\"mmAudioSourcesContainer\"&gt;\r\n                                &lt;el&gt;\r\n                                    &lt;field index=\"mmAudioSource\"&gt;\r\n                                        &lt;value index=\"vDEF\"&gt;',\r\n                                                                    \r\nExtractValue(pi_flexform, '\/\/sheet&#x5B;@index=\"sAudio\"]\/\/value'),\r\n                                                                    \r\n'&lt;\/value&gt;\r\n                                    &lt;\/field&gt;\r\n                                &lt;\/el&gt;\r\n                            &lt;\/itemType&gt;\r\n                            &lt;itemType index=\"_TOGGLE\"&gt;0&lt;\/itemType&gt;\r\n                        &lt;\/section&gt;\r\n                    &lt;\/el&gt;\r\n                &lt;\/field&gt;\r\n            &lt;\/language&gt;\r\n        &lt;\/sheet&gt;\r\n    &lt;\/data&gt;\r\n&lt;\/T3FlexForms&gt;' ) WHERE `tt_content`.`CType`='media'\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>bei der migration von Typo3 4.5 auf 6.2 kommt es vor, dass die konfiguration der inhalte (im feld pi_flexform gespeichert) umformatiert werden muss, da sich zb. beim redereing von media inhaltselementen einiges ge\u00e4ndert hat. gl\u00fccklicherweise kann man in der MySQL abfrage direkt XPATH selektionen mit der funktion ExtractValue machen. mit CONCAT kann man dann das<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,166],"tags":[170,185,180],"class_list":["post-929","post","type-post","status-publish","format-standard","hentry","category-mysql","category-typo3-upgrade","tag-migration","tag-mysql","tag-typo3"],"_links":{"self":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/comments?post=929"}],"version-history":[{"count":4,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/929\/revisions"}],"predecessor-version":[{"id":933,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/929\/revisions\/933"}],"wp:attachment":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/media?parent=929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/categories?post=929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/tags?post=929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}