Per migrare tutte le modifiche a tutti gli ambienti, utilizzo gli script di aggiornamento del database. Li utilizzo per creare istanze diverse (cliente, impostazioni fiscali ecc.) Ma di solito per migrare blocchi statici e impostazioni di configurazione.Magento: blocchi statici e migrazione delle impostazioni di configurazione
Per migrare blocchi statici:
<?php
$block = Mage::getModel('cms/block');
$data = array(
'title' => 'Block title',
'identifier' => 'block_identifier',
'content' => 'block content',
'is_active' => 1,
'stores' => array(0 => Mage_Core_Model_App::ADMIN_STORE_ID),
);
$block->addData($data);
$block->save();
?>
Per migrare le impostazioni:
<?php
Mage::getModel('core/config')->saveConfig('design/theme/default', 'theme');
?>
So che siamo in grado di modificare le impostazioni di Magento via config.xml:
<default>
<general>
<store_information>
<name>My Store</name>
</store_information>
<content_staging>
<block_frontend_stub>home</block_frontend_stub>
</content_staging>
</general>
</default>
Ma per quanto riguarda come ho capito possiamo modificare le impostazioni in questo modo solo se i percorsi: generale/store_informat ione/nome e
generale/content_staging/block_frontend_stub non esiste in db o loro valori uguali NULL, se il valore non NULL non possiamo modificarlo tramite XML. L'ho provato sul mio ambiente locale e penso di aver ragione ma non riesco a trovare un codice su Magento che è responsabile per l'impostazione della configurazione tramite xml. Ho ragione?
Puoi mostrarmi la parte di codice che è responsabile? E quali sono le migliori pratiche di migrazione per Magento? Forse non so qualcosa :)