Mysql Can';t在magento模块中创建表
我是马根托的新手。我想创建一个简单的模块。我找到一篇文章,开始编写代码。在magento模块中有一部分是如何创建表的,所以我尝试了,但我做不到?我有config.xml文件:Mysql Can';t在magento模块中创建表,mysql,sql,magento,magento-1.9,Mysql,Sql,Magento,Magento 1.9,我是马根托的新手。我想创建一个简单的模块。我找到一篇文章,开始编写代码。在magento模块中有一部分是如何创建表的,所以我尝试了,但我做不到?我有config.xml文件: <?xml version="1.0" ?> <config> <modules> <DS_News> <version>0.0.1</version>
<?xml version="1.0" ?>
<config>
<modules>
<DS_News>
<version>0.0.1</version>
</DS_News>
</modules>
<frontend>
<layout>
<updates>
<dsnews>
<file>ds_news.xml</file>
</dsnews>
</updates>
</layout>
<routers>
<dsnews>
<use>standard</use>
<args>
<module>DS_News</module>
<frontName>news</frontName>
</args>
</dsnews>
</routers>
</frontend>
<global>
<models>
<dsnews>
<resourceModel>dsnews_resource</resourceModel>
</dsnews>
<dsnews_resource>
<entities>
<table_news>
<table>ds_news_entities</table>
</table_news>
</entities>
</dsnews_resource>
</models>
<resources>
<dsnews_setup>
<setup>
<module>DS_News</module>
</setup>
</dsnews_setup>
</resources>
</global>
</config>
0.0.1
ds_news.xml
标准
德苏新闻
新闻
DSU资源
新闻实体
德苏新闻
并有如下install-0.0.1.php文件:
<?php
$installer = $this;
$tableNews = $installer->getTable('dsnews/table_news');
$installer->startSetup();
$connection = $installer->getConnection();
$installer->getConnection()->dropTable($tableNews);
$table = $installer->getConnection()
->newTable($tableNews)
->addColumn('news_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
'identity' => true,
'nullable' => false,
'primary' => true,
))
->addColumn('title', Varien_Db_Ddl_Table::TYPE_TEXT, '255', array(
'nullable' => false,
))
->addColumn('content', Varien_Db_Ddl_Table::TYPE_TEXT, null, array(
'nullable' => false,
))
->addColumn('created', Varien_Db_Ddl_Table::TYPE_DATETIME, null, array(
'nullable' => false,
));
$installer->getConnection()->createTable($table);
$installer->endSetup();
?>
/** @var $installer Mage_Core_Model_Resource_Setup */
$installer = $this;
$installer->startSetup();
$table = $installer->getConnection()
->newTable($installer->getTable('dsnews/table_news'))
->addColumn(
'news_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null,
array(
'identity' => true,
'unsigned' => true,
'nullable' => false,
'primary' => true,
), 'Unique identifier'
)
->addColumn(
'title', Varien_Db_Ddl_Table::TYPE_TEXT, 100, array(), 'News title'
)
->addColumn(
'content', Varien_Db_Ddl_Table::TYPE_TEXT, null, array(), 'News content'
)
->addColumn(
'author', Varien_Db_Ddl_Table::TYPE_TEXT, 100, array(), 'News author'
);
if (!$installer->getConnection()->isTableExists($table->getName())) {
$installer->getConnection()->createTable($table);
}
$installer->endSetup();
如果我在数据库中正确理解,我必须获得
ds\u新闻\u实体
表。我在core\u资源
表中有一行dsnews\u设置
,但找不到我想要的表。有人能帮我吗?您的config.xml必须是这样的
<?xml version="1.0"?>
<config>
<modules>
<[Namespace]_[Module]>
<version>0.1.0</version>
</[Namespace]_[Module]>
</modules>
<frontend>
<routers>
<[module]>
<use>standard</use>
<args>
<module>[Namespace]_[Module]</module>
<frontName>[module]</frontName>
</args>
</[module]>
</routers>
<layout>
<updates>
<[module]>
<file>[module].xml</file>
</[module]>
</updates>
</layout>
</frontend>
<global>
<models>
<[module]>
<class>[Namespace]_[Module]_Model</class>
<resourceModel>[module]_mysql4</resourceModel>
</[module]>
<[module]_mysql4>
<class>[Namespace]_[Module]_Model_Mysql4</class>
<entities>
<[module]>
<table>[module]</table>
</[module]>
</entities>
</[module]_mysql4>
</models>
<resources>
<[module]_setup>
<setup>
<module>[Namespace]_[Module]</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</[module]_setup>
<[module]_write>
<connection>
<use>core_write</use>
</connection>
</[module]_write>
<[module]_read>
<connection>
<use>core_read</use>
</connection>
</[module]_read>
</resources>
<blocks>
<[module]>
<class>[Namespace]_[Module]_Block</class>
</[module]>
</blocks>
<helpers>
<[module]>
<class>[Namespace]_[Module]_Helper</class>
</[module]>
</helpers>
</global>
</config>
我希望这会对您有所帮助。