Comment puis-je ajouter une nouvelle colonne à la table principale Magento existante via le script d'installation? (sans utiliser du SQL pur)
Je veux utiliser la méthode Magento qui utilise des méthodes d'alias pour créer un script d'installation.
Jusqu'à présent, j'ai suivi quelques tutoriels. Mais semble ne pas fonctionner correctement. Cette ALTER TABLE StackOverflow dans le script d'installation de Magento sans utiliser de réponse SQL était quelque peu similaire à ma question. Mais quel est le contenu à mettre dans le confg.xml
fichier du module ? Dois-je simplement définir le modèle de ressource, le modèle et les données de configuration seraient suffisants?
La partie pertinente du config.xml
(de mon module) est la suivante.
<config>
. . .
<global>
<models>
<mymodule>
<class>Mynamespace_Mymodule_Model</class>
<resourceModel>mymodule_resource</resourceModel>
</mymodule>
<mymodule_resource>
<class>Mynamespace_Mymodule_Model_Resource</class>
</mymodule_resource>
</models>
<resources>
<mymodule_setup>
<setup>
<module>Mynamespace_Mymodule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
<mymodule_read>
<connection>
<use>core_read</use>
</connection>
</mymodule_read>
<mymodule_write>
<connection>
<use>core_write</use>
</connection>
</mymodule_write>
</resources>
. . . .
</config>
Et mon script d'installation est le suivant.
$installer = $this;
$installer->startSetup();
$installer->getConnection()
->addColumn($installer->getTable('sales_flat_order'),'custom_value', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
'nullable' => false,
), 'Title');
$installer->endSetup();
Mais j'obtiens l'erreur suivante.
SQLSTATE [42S02]: table ou vue de base introuvable: 1146 La table '255.sales_flat_order' n'existe pas
Toute suggestion pour résoudre ce problème serait appréciée.
255
?