如何为ORM设置动态数据源?

| Coldfusion application.cfc中的ORM设置会先运行,然后再运行其他命令(onapplicationstart等)。那么,如何在application.cfc中设置动态数据源(ORM初始化之前的代码)?我们可以在之后进行设置,然后将ORM重新指向动态数据源,但这要求硬编码的数据源也必须有效。这充其量是微不足道的。 这是一个例子:
<cfscript>
this.name = \"someapp_#hash(cgi.http_host)#\";
this.ormenabled = \"true\";
this.ormsettings = { cfclocation = \"config/definitions\", eventhandling = \"true\",datasource=\"STATICDATASOURCE\" };
</cfscript>
如果未在application.cfc范围中指定它,则会出现类似“未为当前应用程序配置ORM”之类的错误。 我们需要能够从服务器上的文本文件获取数据源。     
已邀请:
        
this.datasource=\"YourDatasourceName\";
好吧,如果您要存储文件,则在本示例中,我们将其称为“ datasource.xml”,该文件由以下内容组成:
<dataSourceName>Name goes here</dataSourceName>
您可以通过以下方式阅读它:
dataFile = fileRead(\"pathToFile/datasource.xml\");
data = xmlParse(dataFile);
dataSourceName = data.dataSourceName.xmlText;

this.datasource=dataSourceName;
    
        如果未定义,ORM数据源仅使用默认数据源。 话虽如此,如果您想动态添加/删除数据源,请参阅以下位置的管理员API:http://help.adobe.com/zh_CN/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf364104-7fcf.html(自CF8起可用) 我不确定是否可以在运行时将
this.ormsettings.datasource
重新设置为其他名称(即
onApplicationStart()
onServerStart()
?),但是可以重新设置许多设置。您可能想尝试一下。     

要回复问题请先登录注册