Blog

ColdBox 4.0 Dealing With Datasources

Brad Wood February 19, 2015

Spread the word

Brad Wood

February 19, 2015

Spread the word


Share your thoughts

ColdBox allows you to store the details of your CF datasources in your configuration file.  This prevents you from needing to store usernames and passwords in  your actual code, and allows you  to easily switch an application to another database, even with the environment control.  In  the past this datasource information was presented to you as a CFC object with getter methods.  

In ColdBox 4.0 we recognized that the datasource bean was really just a value object with no behaviors-- only data.  In the spirit of simplification,  we've replaced the datasource bean with a standard struct of data.  It contains the same information, but instead of calling a getter, just reference the keys in the struct.  An extended find and replace on your app's code base should made quick work of this.

Here's an example of what your code might have looked like on ColdBox 3.x

<---  Dependencies --->
<cfproperty name="dsn" inject="coldbox:datasource:mydsn">

<---  list --->
<cffunction name="list" output="false" access="public" returntype="query" hint="Return the contacts">
	<cfset var q = "">
	
	<cfquery name="q" datasource="#dsn.getName()#">
	SELECT * 
	    FROM contacts
	ORDER BY name asc
	</cfquery>
	
	<cfreturn q>
	
</cffunction>

And here's that same code ready for ColdBox 4:

<---  Dependencies --->
<cfproperty name="dsn" inject="coldbox:datasource:mydsn">

<---  list --->
<cffunction name="list" output="false" access="public" returntype="query" hint="Return the contacts">
	<cfset var q = "">
	
	<cfquery name="q" datasource="#dsn.name#">
	SELECT * 
	    FROM contacts
	ORDER BY name asc
	</cfquery>
	
	<cfreturn q>
	
</cffunction>

You'll note the only difference is dsn.getName() turned into dsn.name.  Your /config/ColdBox.cfc file will look the same as always.  No changes there!

Add Your Comment

Recent Entries

Ortus March Newsletter

Ortus March Newsletter

Welcome to Ortus Solutions’ monthly roundup, where we're thrilled to showcase cutting-edge advancements, product updates, and exciting events! Join us as we delve into the latest innovations shaping the future of technology.

Maria Jose Herrera
Maria Jose Herrera
April 01, 2024
Into the Box 2024 Last Early Bird Days!

Into the Box 2024 Last Early Bird Days!

Time is ticking, with less than 60 days remaining until the excitement of Into the Box 2024 unfolds! Don't let this golden opportunity slip away; our exclusive Early Bird Pricing is here for a limited time only, available until March 31st. Why wait? Secure your seat now and take advantage of this steal!

Maria Jose Herrera
Maria Jose Herrera
March 20, 2024
Ortus February Newsletter 2024

Ortus February Newsletter 2024

Welcome to Ortus Solutions’ monthly roundup, where we're thrilled to showcase cutting-edge advancements, product updates, and exciting events! Join us as we delve into the latest innovations shaping the future of technology.

Maria Jose Herrera
Maria Jose Herrera
March 06, 2024