Just noticed a flaw in my store app. I'm generating what I THOUGHT were unique
ID's for carts and shoppers. They get plugged into the db for later use.
There seem to be a few records with the same ID. This ID field isn't the PK of
the table.
When the app starts, a shopper service and cart service are initialized. This
is where I'm creating the ID. I WAS using randrange() and the date appended to
it. Just changed that to timeformat() to get an exact time and maybe help this
problem out.
What's odd is I'm lookin in the cart table, and I see no such duplication. All
the ID's are unique, yet I'm using the same method to generate THOSE too.
Here's where it's created. Any ideas?
<cfset APPLICATION.cartservice = CreateObject("component",
"cfcs.cartservice").init(dsn=application.settings.dsn)>
<cfset APPLICATION.shopperservice = CreateObject("component",
"cfcs.shopperservice").init(browser=CGI.http_user_agent)>
<cffunction name="init" access="public" output="false"
returntype="shopperservice">
<cfargument name="browser" required="yes">
<cfset VARIABLES.shopperStats = StructNew()>
<!--- Create a shopper ID for this shopper --->
<cfset VARIABLES.shopperStats.shopperID = TimeFormat(Now(), "hmmss") &
DateFormat(Now(),"m-dd-yy")>
<!--- Setup other variables that come in from onAppStart in App.cfc --->
<cfset VARIABLES.shopperStats.shopperBrowser = ARGUMENTS.browser>
<cfreturn this>
</cffunction>
And here's for the cartID. No problem I see with these ID's.
<cffunction name="init" access="public" output="false" returntype="cartservice">
<cfargument name="dsn">
<cfset VARIABLES.dsn = ARGUMENTS.dsn>
<cfset VARIABLES.finalCartTotal = 0>
<!--- Create a cart ID for this cart --->
<cfset VARIABLES.cartID = TimeFormat(Now(), "hmmss") &
DateFormat(Now(),"m-dd-yy")>
<cfset VARIABLES.totals = StructNew()>
<cfset VARIABLES.cartItemsAdded = false>
<cfreturn this>
</cffunction>
Thanks,
Will
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting,
up-to-date ColdFusion information by your peers, delivered to your door four
times a year.
http://www.fusionauthority.com/quarterly
Archive:
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:262012
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4