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/

相关文章
|
2月前
|
存储 关系型数据库 MySQL
数据库重要代码详细分享
ALTER TABLE table_name ADD COLUMN column_name datatype; #添加列 ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
34 3
|
12月前
|
SQL 数据库
数据库不一致时启动数据库
本文介绍数据库不一致时如何启动数据库。
|
12月前
|
SQL Oracle NoSQL
常见的数据库和数据库管理工具
常见的数据库和数据库管理工具
|
SQL NoSQL Oracle
【数据库】实际项目上,用到的数据库,涨涨小知识
说到数据库,本篇文章来简单总结下实际项目上用到的数据库
55 0
|
关系型数据库 MySQL 数据库
mysql数据库(4): 创建并选择数据库
mysql数据库(4): 创建并选择数据库
129 0
mysql数据库(4): 创建并选择数据库
|
关系型数据库 MySQL 数据库
mysql数据库(3):创建并使用数据库
mysql数据库(3):创建并使用数据库
107 0
mysql数据库(3):创建并使用数据库
|
关系型数据库 数据库连接 数据库
删除 PostgresSql 数据库 报错:有 N 个其它会话正在使用数据库 的解决方案
遇到的问题 在PostgreSQL 9.2 及以上版本,执行下面的语句: postgres=# drop database dbtest; # 执行删除指定数据库的时候,报以下错误 ERROR: database "dbtest" is being accessed by other users DETAIL: There is 2 other session using the database. 或者使用 Navicat 等第三方数据库连接工具,删除指定数据库的时候报错,说明此时有两个客户端在连接此数据库,此时不能删除数据库。
1666 0
|
SQL 关系型数据库 数据库
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 22 章 管理数据库_22.2. 创建一个数据库
22.2. 创建一个数据库 为了创建一个数据库,PostgreSQL服务器必须启动并运行(见第 18.3 节)。 数据库用 SQL 命令CREATE DATABASE创建: CREATE DATABASE name; 其中name遵循SQL标识符的一般规则。
1178 0
|
关系型数据库 MySQL Linux
|
XML JSON 数据库