<cfif NOT structKeyExists(application, "uploadsCertColumnsReady")>
	<cfset application.uploadsCertColumnsReady = {} />
</cfif>

<cfquery name="GetAgencyFileDatabases" datasource="#Application.DataSrc#">
	SELECT DISTINCT TABLE_SCHEMA
	FROM INFORMATION_SCHEMA.TABLES
	WHERE TABLE_SCHEMA LIKE 'agency_%'
	AND TABLE_NAME = 'files'
	ORDER BY TABLE_SCHEMA
</cfquery>

<cfloop query="GetAgencyFileDatabases">
 
	<cftry>
		<cfquery name="chkFileCertStart" datasource="#Application.DataSrc#">
			SELECT COLUMN_NAME
			FROM INFORMATION_SCHEMA.COLUMNS
			WHERE TABLE_SCHEMA = <cfqueryparam value="#TABLE_SCHEMA#" cfsqltype="cf_sql_varchar">
			AND TABLE_NAME = 'files'
			AND COLUMN_NAME = 'Cert_Start'
		</cfquery>
		<cfif chkFileCertStart.recordCount EQ 0>
			<cfquery datasource="#Application.DataSrc#">
				ALTER TABLE #TABLE_SCHEMA#.files
				ADD COLUMN Cert_Start DATE NULL,
				ADD COLUMN Cert_End DATE NULL
			</cfquery>
		</cfif>
		<cfset application.uploadsCertColumnsReady[TABLE_SCHEMA] = true />
		<cfcatch type="any">
			<!--- Mark attempted so a bad schema does not block every subsequent request --->
			<cfset application.uploadsCertColumnsReady[TABLE_SCHEMA] = true />
		</cfcatch>
	</cftry>
</cfloop>
