Magento: Wie überprüfe ich, ob eine MySQL-Spalte vorhanden ist?

8

Ich möchte einen Fehler verhindern, den die Spalte in der Datenbanktabelle beendet.

Wie kann ich eine Spalte nur dann zur Tabelle hinzufügen, wenn keine Spalte vorhanden ist?

Oboroten
quelle

Antworten:

18

Hiermit können Sie überprüfen, ob eine Tabellenspalte vorhanden ist.

$installer = $this;
$installer->startSetup();

$connection = $installer->getConnection();

$tableName = $installer->getTable('your_table_name');
$columnName = 'testcolumn';

if ($connection->tableColumnExists($tableName, $columnName) === false) {
    $connection->addColumn($tableName, $columnName, array(
        'type'      => Varien_Db_Ddl_Table::TYPE_TEXT,
        'nullable'  => false,
        'length'    => 255,
        'after'     => null, // column name to insert new column after
        'comment'   => 'Title'
    ));  
}
Priyank
quelle
Ja, es ist die Spalte der Tabelle zu überprüfen. Hast du das versucht?
Priyank