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/

时间: 2024-10-18 10:05:51

Magento切换数据库,使用不同数据库的相关文章

Winform开发框架中实现多种数据库类型切换以及分拆数据库的支持

在很多应用系统里面,虽然一般采用一种数据库运行,但是由于各种情况的需要,可能业务系统会部署在不同类型的数据库上,如果开发的系统能够很方便支持多种数据库的切换,那可以为我们减少很多烦恼,同时提高系统的适应性和强壮型.还有一种情况,由于业务数据库的不断膨胀或者方便数据库的切割隔离,有时候也会把不同的业务数据库进行分拆,如权限提供数据库,客户关系管理数据库,工作流程数据库,企业营运数据库等等,因此在一个系统里面,同时使用2个或者以上的数据库的情况也是有的.针对这两种情况,本文介绍在我的Winform开

PostgreSQL修炼之道:从小工到专家. 1.2 PostgreSQL数据库与其他数据库的对比

1.2 PostgreSQL数据库与其他数据库的对比 1.2.1PostgreSQL与MySQL数据库的对比 可能有人会问,既然已经有一个人气很高的开源数据库MySQL了,为什么还要使用PostgreSQL?这主要是因为在一些应用场景中,使用MySQL有以下几个缺点: 功能不够强大:MySQL的多表连接查询方式只支持"Nest Loop",不支持"hash join"和"sort merge join".不仅如此,还有很多SQL语法它也不支持,子

sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法_MsSql

这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户.解决办法就是关闭与要还原数据库的所有连接. 小编推荐的一个方法:到服务里面重启下sqlserver服务即可. 问题一描述:SQL Server数据库备份还原后,在数据库名称后会出现"受限制访问"字样 问题二描述:在对SQL Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权.(Microsoft.S

NoSQL数据库之Redis数据库:Redis的介绍与安装部署

 NoSQL(NoSQL = Not Only SQL),它指的是非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显的力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展.   NoSQL的特点: 特点一: 是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准.ACID属性.表结构等等

mongodb[二]查看数据库,创建数据库,删除数据库

1.查看数据库           show dbs  查看所有数据库,不包括当前数据库                               db  查看当前数据库,系统默认会有一个test数据库,查看当前所操作的数据库,返回数据库名称                      2.创建数据库      use 数据库名称 解释:使用客户端连接到mongodb后,使用此命令可以创建数据库,如果数据库名称已经存在,系统自动切换到指定的数据库,否则创建一个指定名称的数据库,默认数据库中没有任

通过SQL Server 2008数据库复制实现数据库同步备份

原文 通过SQL Server 2008数据库复制实现数据库同步备份 SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用.它是一种优于文件备份的数据库备份解决方案. 在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008数据

备份恢复12——复制数据库与备用数据库

1.建立复制数据库: 分为用户管理的方式建立复制数据库和rman建立复制数据库. 对于用户管理的复制数据库来说,还可以分为本机建立复制数据库和不在本机建立复制数据库,但是这两个方式区别不大,建立 数据库的方法步骤与建库的方法基本类似.不写了,自己参照书  P257 页做吧. 重点写写rman管理的方式建立复制数据库吧,这个才是重点.当使用rman管理的方式建立复制数据库时,必须首先使用rman备份主数据库的多有数据文件.控制文件和归档日志.示例如下:C:\> rman target sys/li

通过SQL Server 2008数据库复制实现数据库同步备份_mssql2008

SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用.它是一种优于文件备份的数据库备份解决方案. 在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008数据库复制.数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像

关系型数据库和NOSQL数据库对比

关系型数据库,是建立在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库中的数据.主流的 oracle.DB2.MS SQL Server和mysql都属于这类传统数据库. NoSQL数据库,全称为Not Only SQL,意思就是适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储.主要分为临时性键值存储(memcached.Redis).永久性键值存储(ROMA.Redis).面向文档的数据库(MongoDB

link 中在一个程序中能不能使用2个数据库,主从数据库怎么相互备份?

问题描述 link 中在一个程序中能不能使用2个数据库,主从数据库怎么相互备份? link 中在一个程序中能不能使用2个数据库,主从数据库怎么相互备份? 解决方案 可以啊,你可以定义多个edmx,每个映射到一个数据库上