*/ $installer = $this; /* @var $installer Mage_Core_Model_Resource_Setup */ $installer->startSetup(); /** * Create table 'googlebase/types' */ $table = $installer->getConnection() ->newTable($installer->getTable('googlebase/types')) ->addColumn('type_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array( 'identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true, ), 'Type id') ->addColumn('attribute_set_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array( 'unsigned' => true, 'nullable' => false, ), 'Attribute set id') ->addColumn('gbase_itemtype', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array( 'nullable' => false, ), 'Google base item type') ->addColumn('target_country', Varien_Db_Ddl_Table::TYPE_TEXT, 2, array( 'nullable' => false, 'default' => 'US', ), 'Target country') ->addIndex($installer->getIdxName('googlebase/types', array('attribute_set_id')), array('attribute_set_id')) ->addForeignKey($installer->getFkName('googlebase/types', 'attribute_set_id', 'eav/attribute_set', 'attribute_set_id'), 'attribute_set_id', $installer->getTable('eav/attribute_set'), 'attribute_set_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_NO_ACTION) ->setComment('Google Base Item Types link Attribute Sets'); $installer->getConnection()->createTable($table); /** * Create table 'googlebase/items' */ $table = $installer->getConnection() ->newTable($installer->getTable('googlebase/items')) ->addColumn('item_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array( 'identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true, ), 'Item id') ->addColumn('type_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array( 'unsigned' => true, 'nullable' => false, 'default' => '0', ), 'Type id') ->addColumn('product_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array( 'unsigned' => true, 'nullable' => false, ), 'Product id') ->addColumn('gbase_item_id', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array( 'nullable' => false, ), 'Google base item id') ->addColumn('store_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array( 'unsigned' => true, 'nullable' => false, ), 'Store Id') ->addColumn('published', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array( 'nullable' => false, ), 'Published') ->addColumn('expires', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array( 'nullable' => false, ), 'Expires') ->addColumn('impr', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array( 'unsigned' => true, 'nullable' => false, 'default' => '0', ), 'Google impressions') ->addColumn('clicks', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array( 'unsigned' => true, 'nullable' => false, 'default' => '0', ), 'Google clicks') ->addColumn('views', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array( 'unsigned' => true, 'nullable' => false, 'default' => '0', ), 'Google views') ->addColumn('is_hidden', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array( 'nullable' => false, 'default' => '0', ), 'Hidden flag') ->addIndex($installer->getIdxName('googlebase/items', array('product_id')), array('product_id')) ->addIndex($installer->getIdxName('googlebase/items', array('store_id')), array('store_id')) ->addForeignKey($installer->getFkName('googlebase/items', 'product_id', 'catalog/product', 'entity_id'), 'product_id', $installer->getTable('catalog/product'), 'entity_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_NO_ACTION) ->addForeignKey($installer->getFkName('googlebase/items', 'store_id', 'core/store', 'store_id'), 'store_id', $installer->getTable('core/store'), 'store_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_NO_ACTION) ->setComment('Google Base Items Products'); $installer->getConnection()->createTable($table); /** * Create table 'googlebase/attributes' */ $table = $installer->getConnection() ->newTable($installer->getTable('googlebase/attributes')) ->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array( 'identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true, ), 'Id') ->addColumn('attribute_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array( 'unsigned' => true, 'nullable' => false, ), 'Attribute id') ->addColumn('gbase_attribute', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array( ), 'Google base attribute') ->addColumn('type_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array( 'unsigned' => true, 'nullable' => false, ), 'Type id') ->addIndex($installer->getIdxName('googlebase/attributes', array('attribute_id')), array('attribute_id')) ->addIndex($installer->getIdxName('googlebase/attributes', array('type_id')), array('type_id')) ->addForeignKey($installer->getFkName('googlebase/attributes', 'attribute_id', 'eav/attribute', 'attribute_id'), 'attribute_id', $installer->getTable('eav/attribute'), 'attribute_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_NO_ACTION) ->addForeignKey($installer->getFkName('googlebase/attributes', 'type_id', 'googlebase/types', 'type_id'), 'type_id', $installer->getTable('googlebase/types'), 'type_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_NO_ACTION) ->setComment('Google Base Attributes link Product Attributes'); $installer->getConnection()->createTable($table); $installer->endSetup();