在这里一章中,我们将创建一个php文件,这将在magento的database中创建一个新表。
在app/code/local/Voodoo/News/sql/news_setup/目录下创建一个mysql4-install-0.1.0.php文件:
<?php
$installer = $this;
$installer->startSetup();
$installer->run("
-- DROP TABLE IF EXISTS {$this->getTable('news')};
CREATE TABLE {$this->getTable('news')} (
`news_id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(255) NOT NULL default '',
`filename` varchar(255) NOT NULL default '',
`content` text NOT NULL default '',
`status` smallint(6) NOT NULL default '0',
`created_time` datetime NULL,
`update_time` datetime NULL,
PRIMARY KEY (`news_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$installer->endSetup();
?>
注意,mysql4-install-0.1.0.php中的0.1.0对应我们模块的版本,也就是app\code\local\Voodoo\News\etc目录下的config.xml中的
<modules>
<Voodoo_News>
<version>0.1.0</version>
</Voodoo_News>
</modules>
不然magento是不会执行sql语句的,这将导致magento运行模块时找不到表的错误。