首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >-如何在prod/staging/dev之间外部设置不同的数据源?

-如何在prod/staging/dev之间外部设置不同的数据源?
EN

Stack Overflow用户
提问于 2010-04-20 20:43:16
回答 1查看 1.5K关注 0票数 1

Coldfusion报表生成器是伟大的。

一个小问题。我们使用ANT+CFANT进行部署。

当我们创建报告时,比如在一个开发框上的一个名为MyApp_dev的数据源中。

我们的另一个服务器是生产服务器。它还包含一个分阶段构建,以确保在我们发布生命之前一切都顺利进行。(感谢艾尔·埃弗雷特提请我注意这一澄清。)

在创建报告时,一切都很好。

我们将报表部署到我们的暂存服务器上,它有一个MyApp_Staging数据源。该服务器也可以,也可能没有,让实时应用程序在MyApp_Live下工作。Ant将更新推送到阶段非常好。

运行报告,崩溃和烧伤。为什么?

报告似乎在寻找MyApp_Dev data_source,尽管应用程序使用的是MyApp_Staging数据源。

在挖掘中,我发现了一些方法,我想做这个,最后,理想的方式从一开始,而不是必须回去做几十个不同的报告,当我有一个新的啊哈!片刻。

1) 显而易见:将数据源传递给cfreport标记。对于ColdFusion Builder报表,v8和v9都不起作用,就像在Linux上测试的那样。

2)到目前为止,最现实的选项(但很痛苦):将查询作为对象传递到ColdFusion生成器报告中。让我们想一想:

  1. 使用RDS等在本地框上使用RDS创建带有报表生成器的报表。完成后,将查询复制到代码片段中,或复制到数据库列中,以便在运行时使用正确的数据源动态注入。
  2. 修改我的“运行报告”事件,以从数据库列中查找查询,将其插入另一个动态cfquery中,并可能.评估(!?)它?有趣的是,我可以将cfquery数据源设置为我在中修改报表列所需的每个environment.
  3. When,我总是必须更新数据库中的查询。有什么代码片段可以帮我提取这个吗?嗯,

3) 不太理想,把它搞砸了,让所有的分阶段报告都在服务器上运行。也许可以将实时数据复制到阶段(sans结构更改)中,以使其看起来类似。

是否有任何雄辩的方法来完成上述工作?

提前谢谢!

EN

回答 1

Stack Overflow用户

发布于 2010-04-21 13:31:06

如果您有不同的dev/暂存/生产框,为什么不只是在每个容器上使用相同的数据源名称呢?这样你就不用让代码知道它在哪里了。

由于当前任务中的安全问题使我无法使用RDS,所以我理所当然地使用选项2。我也喜欢它,因为它使它更容易调试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2678478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档