我必须自定义已经在magento项目中构建的一些东西。我复制了源文件并粘贴在htdocs文件夹中并将sql文件加载到数据库中。修改了位于app / etc / local.xml文件夹中的xml文件中的主机,用户名,密码和dbname。具体如下
<config>
<global>
<install>
<date><![CDATA[Thu, 20 Dec 2012 04:20:32 +0000]]></date>
</install>
<crypt>
<key><![CDATA[1dba174377df948cc045234de2d2d959]]></key>
</crypt>
<disable_local_modules>false</disable_local_modules>
<resources>
<db>
<table_prefix><![CDATA[]]></table_prefix>
</db>
<default_setup>
<connection>
<host><![CDATA[localhost]]></host>
<username><![CDATA[root]]></username>
<password><![CDATA[]]></password>
<dbname><![CDATA[btrweb]]></dbname>
<initStatements><![CDATA[SET NAMES utf8]]></initStatements>
<model><![CDATA[mysql4]]></model>
<type><![CDATA[pdo_mysql]]></type>
<pdoType><![CDATA[]]></pdoType>
<active>1</active>
</connection>
</default_setup>
</resources>
<session_save><![CDATA[files]]></session_save>
</global>
<admin>
<routers>
<adminhtml>
<args>
<frontName><![CDATA[admin]]></frontName>
</args>
</adminhtml>
</routers>
</admin>
现在当我将文件加载为localhost / btrweb(projectname)时,它会抛出一个错误,如
SQLSTATE [42S01]:基表或视图已存在:1050表&quot; directory_country&#39;已存在
请你帮我解决一下。
提前致谢。
答案 0 :(得分:0)
首先,我应该说最好的方法是使用像Git这样的版本控制系统!通过这种方式,您可以在任何地方简单地克隆存储库。
在您的情况下,我认为您的问题是由于您在localhost数据库中移动(转储/导入)数据库的方式。通常在Magento中,每个模块(与DB交互)都拥有一个sql文件夹,其中包含该文件内的文件DB在该模块的历史记录中发生变化。此文件夹中的所有文件按顺序运行(在运行每个文件magento之后将其版本添加到表(名为: core_resource );这样,Magento知道哪个文件已经运行并避免重新运行它。您的情况Magento的目录模块 - &gt;(您可以在: core / Mage / Directory 中找到它)无法运行其中一个脚本,因此抛出该错误。您可以尝试恢复您的数据库(强烈推荐)或尝试这种方式:DELETE * FROM core_resource WHERE code = "directory_setup"
(删除所有Magento缓存)。在第一次重新加载任何页面时,Magento将自动再次运行该sql文件夹中的所有脚本,这可能会解决您的问题。 / p>
PS:不要忘记你需要更新 core_config_data 表,使用 secure_url 和 unsecure_url 来指向你的别名在localhost。