您的位置:首页 > 数据库

通过域名方式决定使用哪个数据库

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.完成

说明:以前代码不影响正常使用,如果配置文件中没有写相应的数据库,则会按照老方法显示页面,但如要已经配置数据库,那么登录页面中将不会显示数据库选择,强制和已设置的数据库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐