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

Adobe CFSummit 2024 Recap | Ortus Solutions

Adobe CFSummit 2024 Recap | Ortus Solutions

A huge thank you to everyone who visited our booth! We had the pleasure of engaging in meaningful conversations about Modern CFML and ColdFusion development, sharing insights, and exploring exciting new ideas. Visitors also got a chance to participate in some fun activities and win fabulous prizes, including our customized t-shirts, which were a huge hit!

Maria Jose Herrera
Maria Jose Herrera
October 02, 2024
BoxLang September Newsletter

BoxLang September Newsletter

Welcome to the September edition of the BoxLang Newsletter! This month has been packed with exciting updates, new features, and enhancements that continue to shape BoxLang into a robust and versatile programming language. In this edition, we highlight the latest beta releases, new integrations, and key features that have been introduced.

Maria Jose Herrera
Maria Jose Herrera
October 01, 2024
Fall Savings: Unlock Exclusive Discounts Until October 31st!

Fall Savings: Unlock Exclusive Discounts Until October 31st!

Get ready for the Ortus October Fall Savings! This is your opportunity to elevate your development experience with fantastic offers designed for everyone—from seasoned developers to tech enthusiasts. Our special promotions are here to help you achieve your goals while saving money!

Don’t Miss Out on These Amazing Offers!

Use the code FALLSAVINGS24 at checkout to enjoy these incredible discounts before they expire on October 31st

Cristobal Escobar
Cristobal Escobar
October 01, 2024