Magento切换数据库,使用不同数据库

简介:
1. 在app/etc/local.xml 中,添加新的 数据库选项
<?xml version="1.0"?>
<config>
<global>
<install>
<date><![CDATA[Tue, 05 Jul 2011 03:23:52 +0000]]></date>
</install>
<crypt>
<key><![CDATA[80eb4be66ce28df745f27c75f2604d33]]></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[hello]]></dbname>
<active>1</active>
</connection>
</default_setup>
<vip_space_read>
<connection>
<host><![CDATA[localhost]]></host>
<username><![CDATA[root]]></username>
<password><![CDATA[]]></password>
<dbname><![CDATA[hello_dev_test]]></dbname>
<model>mysql4</model>
<initStatements>SET NAMES utf8</initStatements>
<type>pdo_mysql</type>
<active>1</active>
</connection>
</vip_space_read>
</resources>
<session_save><![CDATA[files]]></session_save>
</global>
<admin>
<routers>
<adminhtml>
<args>
<frontName><![CDATA[hello_admin]]></frontName>
</args>
</adminhtml>
</routers>
</admin>
</config>
  2. 在需要使用的不同数据库的model resource中,重写 _setResource 方法,例如
class Hello_Vip_Model_Entity_Vip_Adapter extends Mage_Core_Model_Mysql4_Abstract
{
protected $_logFile = 'vip.adapter.log';
protected function _construct()
{
$this->_setResource(array('read' =>'vip_space_read', 'write'
=>'vip_space_read'));
}
  经过以上两步,就能在某个model中使用不同的数据库

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
4月前
|
SQL Java 数据库
从0到1了解数据库—实现一个自己的数据库
从0到1了解数据库—实现一个自己的数据库
31 0
|
6月前
|
关系型数据库 MySQL 数据库
数据库练习
数据库练习
50 0
|
18天前
|
存储 关系型数据库 MySQL
数据库(一)
登录MySQL数据库的命令是`mysql -u用户名 -p密码`,其中`-u`后面接用户名,`-p`后面接密码。如果服务器不在本地,还需指定`-h`参数加上IP地址或域名,以及可选的`-P`参数指定端口号。创建数据库使用`create database 数据库名`,查看数据库用`show databases;`。数据类型包括整数类型(如int)、字符串(如char、varchar、text)、日期时间类型(如date、time、datetime)等。数据库操作还包括创建表、修改表结构、删除表以及数据的增删改查操作。数据恢复和备份涉及mysqldump工具及source命令来导入导出数据。
9 1
|
18天前
|
数据库
数据库(二)
数据查询教程包括单表查询操作,如Select语句用于选取属性,可指定列名、使用别名、计算表达式,并通过Distinct去除重复元组。条件查询(Where子句)支持比较运算,如Between、In、Like(支持模糊匹配)及空值判断。连接查询用于合并多表数据,如内连接、外连接和笛卡尔积。例如,通过连接emp和dept表,可获取员工姓名及其所在部门名称。
12 3
|
18天前
|
关系型数据库 MySQL 数据库
数据库(四)
`DELETE` 语句用于从表中移除数据。基本语法是 `DELETE FROM 表名 WHERE 条件表达式`,条件可选,若省略则删除所有数据。例如,`DELETE FROM emp WHERE dept_id = 10` 删除10号部门员工。`TRUNCATE` 表名更快,用于清空表,但不支持条件,且数据不可恢复。子查询可用于`CREATE TABLE AS SELECT`来复制表,或在`INSERT`, `UPDATE`语句中进行复杂操作,如更新特定区域员工的工资。
8 1
|
29天前
|
Go 数据库
数据库的实现
数据库的实现
11 0
|
2月前
|
存储 数据库 数据安全/隐私保护
数据库特点
数据库特点
27 9
|
9月前
|
存储 安全 数据挖掘
数据库视频
数据库视频
75 0
|
SQL 存储 XML