我是magento的新人。如何在db中创建表?我尝试了一些代码,但表没有创建。但是在core_resource表中我设置了我的表。我的php文件的版本与我的配置文件的版本匹配。求助于我,我正在寻找这个问题的答案两天,但无处可寻。
答案 0 :(得分:0)
创建表格的方法有很多种。
phpmyadmin
这两种方式也适用于magento。
但如果您尝试使用自己的custom module
创建自己的表格,那么您必须使用xml
和magento models
。
我正在为您提供模块示例。
<强> XML 强>
<models>
<magenotification>
<class>Magestore_Magenotification_Model</class>
<resourceModel>magenotification_mysql4</resourceModel>
</magenotification>
<magenotification_mysql4>
<class>Magestore_Magenotification_Model_Mysql4</class>
<entities>
<magenotification>
<table>magenotification</table>
</magenotification>
<feedback>
<table>magenotification_extension_feedback</table>
</feedback>
<feedbackmessage>
<table>magenotification_extension_feedbackmessage</table>
</feedbackmessage>
<logger>
<table>magenotification_log</table>
</logger>
<license>
<table>magenotification_license</table>
</license>
</entities>
</magenotification_mysql4>
</models>
SQL
<?php
$installer = $this;
$installer->startSetup();
$installer->run("
DROP TABLE IF EXISTS {$this->getTable('magenotification_extension_feedbackmessage')};
DROP TABLE IF EXISTS {$this->getTable('magenotification_extension_feedback')};
DROP TABLE IF EXISTS {$this->getTable('magenotification_log')};
DROP TABLE IF EXISTS {$this->getTable('magenotification')};
CREATE TABLE {$this->getTable('magenotification')} (
`magenotification_id` int(11) unsigned NOT NULL auto_increment,
`notification_id` int(10) unsigned NOT NULL,
`url` varchar(255) NOT NULL default '',
`added_date` datetime NOT NULL,
UNIQUE (`notification_id`, `url`),
PRIMARY KEY (`magenotification_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE {$this->getTable('magenotification_log')} (
`log_id` int(11) unsigned NOT NULL auto_increment,
`extension_code` varchar(100) NOT NULL default '',
`license_type` varchar(50) NOT NULL default '',
`license_key` text NOT NULL default '',
`check_date` date NOT NULL,
`sum_code` varchar(255),
`response_code` smallint(5),
`expired_time` varchar(255),
`is_valid` tinyint(1),
PRIMARY KEY (`log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE {$this->getTable('magenotification_extension_feedback')} (
`feedback_id` int(11) unsigned NOT NULL auto_increment,
`code` varchar(255) NOT NULL default '',
`extension` varchar(255) NOT NULL default '',
`extension_version` varchar(50) NOT NULL default '',
`coupon_code` varchar(255) NOT NULL default '',
`coupon_value` varchar(50) NOT NULL default '',
`expired_counpon` datetime NOT NULL,
`content` text NOT NULL default '',
`file` text NOT NULL default '',
`comment` text NOT NULL default '',
`latest_message` text NOT NULL default '',
`latest_response` text NOT NULL default '',
`latest_response_time` datetime,
`status` tinyint(1) NOT NULL DEFAULT '3',
`is_sent` tinyint(1) NOT NULL DEFAULT '2',
`created` datetime NOT NULL,
`updated` datetime NOT NULL,
PRIMARY KEY (`feedback_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE {$this->getTable('magenotification_extension_feedbackmessage')} (
`feedbackmessage_id` int(11) unsigned NOT NULL auto_increment,
`feedback_id` int(11) unsigned NOT NULL,
`feedback_code` varchar(255) NOT NULL default '',
`user` varchar(255) NOT NULL default '',
`is_customer` tinyint(1) default '2',
`message` text NOT NULL default '',
`file` text NOT NULL default '',
`posted_time` datetime NULL,
`is_sent` tinyint(1) default '2',
PRIMARY KEY (`feedbackmessage_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$installer->endSetup();
您需要了解如何在magento create custom module获取更多信息。