通过域名方式决定使用哪个数据库
2014-01-20 14:42
225 查看
本文来自OpenERP中文社区
原文地址:http://shine-it.net/index.php/topic,16199.msg27338.html#msg27338
当前OPENERP只有一个功能,就是公司内部使用,不过老板又有一个要求,需要给客户那边也用,但是使用的是同一个软件,不同库,客户使用时不能看到其它人使用的库,
我感觉这个功能应该在多个库时比较有多,当前分享一下做法
1.有两个域名分别是 a.openerp.com b.openerp.com
2.当使用a.openerp.com时,访问数据库A ,当使用b.openerp.com时,使用数据库B
3.找到函数:\addons\web\controllers\main.py 下的db_list函数,在函数修改为: ####中为添加的代码
def db_list(req, force=False):
proxy = req.session.proxy("db")
dbs = proxy.list(force)
h = req.httprequest.environ['HTTP_HOST'].split(':')[0]
####################
onedb=openerp.tools.config.get(h+'_db',False)
if onedb!=False:
return [onedb]
####################
d = h.split('.')[0]
r = openerp.tools.config['dbfilter'].replace('%h', h).replace('%d', d)
dbs = [i for i in dbs if re.match(r, i)]
return dbs
4.可以看到,它读取了config中的内容,所以你需要在openerp-server.conf中添加配置:
a.openerp.com_db=A
b.openerp.com_db=B
5.完成
说明:以前代码不影响正常使用,如果配置文件中没有写相应的数据库,则会按照老方法显示页面,但如要已经配置数据库,那么登录页面中将不会显示数据库选择,强制和已设置的数据库。
原文地址:http://shine-it.net/index.php/topic,16199.msg27338.html#msg27338
当前OPENERP只有一个功能,就是公司内部使用,不过老板又有一个要求,需要给客户那边也用,但是使用的是同一个软件,不同库,客户使用时不能看到其它人使用的库,
我感觉这个功能应该在多个库时比较有多,当前分享一下做法
1.有两个域名分别是 a.openerp.com b.openerp.com
2.当使用a.openerp.com时,访问数据库A ,当使用b.openerp.com时,使用数据库B
3.找到函数:\addons\web\controllers\main.py 下的db_list函数,在函数修改为: ####中为添加的代码
def db_list(req, force=False):
proxy = req.session.proxy("db")
dbs = proxy.list(force)
h = req.httprequest.environ['HTTP_HOST'].split(':')[0]
####################
onedb=openerp.tools.config.get(h+'_db',False)
if onedb!=False:
return [onedb]
####################
d = h.split('.')[0]
r = openerp.tools.config['dbfilter'].replace('%h', h).replace('%d', d)
dbs = [i for i in dbs if re.match(r, i)]
return dbs
4.可以看到,它读取了config中的内容,所以你需要在openerp-server.conf中添加配置:
a.openerp.com_db=A
b.openerp.com_db=B
5.完成
说明:以前代码不影响正常使用,如果配置文件中没有写相应的数据库,则会按照老方法显示页面,但如要已经配置数据库,那么登录页面中将不会显示数据库选择,强制和已设置的数据库。
相关文章推荐
- 通过域名方式决定使用哪个数据库
- 通过域名方式决定使用哪个数据库的方式分享
- 通过域名方式决定使用哪个数据库
- 通过域名方式决定使用哪个数据库
- Odoo(OpenERP)应用实践: 使用db-filter参数实现通过域名指定访问哪个数据库
- ]Odoo(OpenERP)应用实践: 使用db-filter参数实现通过域名指定访问哪个数据库
- Odoo(OpenERP)应用实践: 使用db-filter参数实现通过域名指定访问哪个数据库
- 【转】一个域名对应多个IP地址,接下来系统是依据什么决定使用哪个IP地址的?
- MVC扩展控制器工厂,通过继承DefaultControllerFactory来决定使用哪个接口实现,使用Ninject
- ssm中使用两个数据库,通过注解方式切换数据源
- 【自然框架】之通用权限:数据库设计的几种使用方式
- Spring与ehcache整合,通过注解的方式使用缓存
- 分布式锁的几种使用方式(redis、zookeeper、数据库)
- N个状态在数据库中的简便使用定义方式
- 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。
- Castle ActiveRecord 使用 Web.config 配置数据库连接方式
- 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式
- Android应用开发之sqlite使用模糊查询数据库数据的三种方式
- 使用JDBC建立各种数据库的连接方式集萃
- EF学习杂记26:如何通过使用Sbub Entity避免不必要的数据库检索