轻松与他人协同使用数据库连接配置
原有的数据库操作
数据库连接的配置能不能团队管理员配置好了之后,其他人可以协同使用啊?每个人都要重新写一遍连接信息真的挺麻烦的。
云端储存数据库连接配置
当你的 Apifox 版本更新至
2.6.50
及以上,进入项目设置 -> 数据库连接
,点击新建数据库连接时,即可发现所有连接字段会引导你使用变量形式来填入字段的值。在环境管理中,于环境变量内设置好不同环境下需要使用的数据库连接的变量,这样即可将这些变量应用在数据库连接配置中。
回到数据库连接配置页,你可以使用变量格式手动填入变量,也可以通过
动态值
功能直接引用这个变量。我们推荐使用环境变量填入此处,这样可以随着不同环境的上下文,自动切换不同环境对应的配置。除端口号外,其他字段都最好使用变量形式。将使用变量的数据库连接配置进行保存,就可以在接口管理、自动化测试等地方的数据库操作中进行使用了。
保存在本地的配置(使用了明文) | 保存在云端的配置(使用了变量) |
---|---|
1. 某个接口请求时,执行到了数据库操作,读取其中指定的数据库配置; 2. 读取数据库配置详情,在本地文件中找到实际值; 3. 使用本地找到的实际值(host, username, password 等)拼接成完整的数据库连接配置,发起连接; 4. 连接成功,执行数据库操作中写的 SQL 以及保存至变量等操作。 | 1. 某个接口请求时,执行到了数据库操作,读取其中指定的数据库配置; 2. 读取数据库配置详情,在云端读取到使用了变量,根据变量名与变量优先级查找实际值; 3. 进行变量替换,拼接成完整的数据库连接配置,发起连接; 4. 连接成功,执行数据库操作中写的 SQL 以及保存至变量等操作。 |
其他项目成员需要使用这个数据库连接配置的话,现在只用去环境管理中,找到对应的变量并填入本地值即可,不用像以前需要去项目管理中进行配置。
使用云端数据库连接的注意事项
使用 Vault 变量来保存数据库连接配置
设置 Vault 变量,将数据库连接的明文存入 Vault 变量中。不同环境的数据库连接配置,要在你的提供商中创建不同的 Vault Key。具体方法参考 Vault Secrets(密钥库)。
在不同环境中,都创建相同名称的环境变量,例如:dbHost。然后在远程值中设置引用该环境对应的 Vault 变量,并保持本地值跟随远程值。
这样做的目的是: 使用环境变量包一层 Vault 变量,让后续设置数据库连接配置时只需 要选择环境变量即可,实际使用数据库连接配置时,会跟着环境上下文自动选择此环境的连接配置; 保存在远程值中,为了让项目成员无需再手动设置一次,提升协同使用效率。
1.
2.
在数据库连接中,填入在环境管理中设置好的数据库连接变量。可以使用“动态值”功能快速引用变量。
点击测试连接,会提示选择需要测试的环境,注意测试连接的环境里一定要配置好对应的变量实际值。点击确认发现连接成功。如果有问题可根据具体报错信息进行处理。
在某个接口请求的前/后置操作中,添加一个数据库操作,并选中上述已保存在云端的数据库连接配置,发起请求。例如,我需要从数据库表中找到宠物名为“Nancy”的宠物的 id,然后请求接口查询详情。
发现 Apifox 成功执行了数据库操作,在数据库中取出了数据并根据我的要求将 petID 的值保存至 petId 变量中,然后请求出去了。
如果你已按照上述步骤配置好了数据库连接配置,其他项目成员即可直接在接口请求的数据库操作内指定使用此配置,来对数据库进行操作,无需再自己配置。
环境变量名 | 变量远程值 | 说明 | |
---|---|---|---|
测试环境 | dbHost | {{vault:testDbHost}} | 引用测试环境数据库地址的 Vault 变量 |
dbUsername | {{vault:testDbUsername}} | 引用测试环境数据库用户名的 Vault 变量 | |
dbPwd | {{vault:testDbPwd}} | 引用测试环境数据库密码的 Vault 变量 | |
dbTable | store | 没有数据安全问题,所以直接使用明文。当然也可选择引用 Vault 变量 | |
正式环境 | dbHost | {{vault:prodDbHost}} | 引用正式环境数据库地址的 Vault 变量 |
dbUsername | {{vault:prodDbUsername}} | 引用正式环境数据库用户名的 Vault 变量 | |
dbPwd | {{vault:prodDbPwd}} | 引用正式环境数据库密码的 Vault 变量 | |
dbTable | store | 没有数据安全问题,所以直接使用明文。当然也可选择引用 Vault 变量 |
延伸阅读
修改于 2025-04-02 09:34:33