如何利用hostname设定数据库

          很多时候为了有分开的测试环境,或是其他的原因,会在同一套Odoo里开很多个数据库。预设都要在登录的时候选择要登录的数据库,或是输入数据库的名称。这样的做法增加了不少操作上的麻烦,有些时候还会造成系统某些功能的错乱。这里就来教大家,如何用设定档内的dbfilter来直接使用URL里的hostname指定数据库。

           在Odoo的设置里,有一个设定值叫做“dbfilter”。Odoo会利用这个设定,来限制不同网址可以存取的数据库,语法使用正规表达式(reqular expression),额外可以用%d代表网址内的主机名称(hostname),%h代表完整网址,以abc.def.com为例,%d会是abc,而%h会是 abc.def.com 。

           最常使用的设定方式,就是 dbfilter = ^%d$ ,其中 ^ 代表开头, $ 代表结尾。这样的使用方式,就可以让用 abc.example.com 连到 Odoo 的人,只能存取 abc 这个数据库,而 def.example.com 就只能连到 def 这个数据库。

          因为可以使用正规表达式,所以有许多其他的应用方式,例如:^%d.*$ ,就可以让 abc.example.com 连到所有 abc开头的数据库,比如abc-production或abc-test。 ^%h$ 就可以用整个网址来限制,abc.example.com 就只能连到 abc.example.com 这个数据库。