我已经有一个 ORM 应用程序在我的笔记本电脑上本地运行了两年,用于开发目的,并且 ORM 映射运行良好。该应用程序最初是在 CF9 中创建的,但我的本地 CF 在 CF10 发布后不久就升级到了 10。从那时起,我有很多时间在这个应用程序上进行额外的开发。前几天,基于迁移,我不得不更改应用程序的一些目录路径。在更改了我在 CF 和应用程序中的所有映射后,我再次启动应用程序,我得到了这个 gem:
解决 cfc com.client.model.sessions 中的关系 SpeakerEvalQuestions 时出错。检查此属性的列映射。
*请忽略我在命名我的一个 orm 对象“会话”时的错误判断。
路径从\web\sites\thesite\
变为\web\sites\thesite\www\
/com 是到\web\sites\thesite\www\com
现在的 CF 映射
以下是来自 CFC 的花絮:
<cfcomponent output="false" persistent="true" table="tblSessions">
<cfproperty
name="sessionID"
fieldtype="id"
type="numeric"
sqltype="int"
generator="identity" />
<cfproperty
name="ses_key"
type="string"
sqltype="varchar(40)" />
<cfproperty
name="sessionTitle"
type="string"
sqltype="varchar(250)" />
<cfproperty
name="day1Start"
ormtype="timestamp"
sqltype="datetime" />
<cfproperty
name="day1End"
ormtype="timestamp"
sqltype="datetime" />
<cfproperty
name="day2Start"
ormtype="timestamp"
sqltype="datetime" />
<cfproperty
name="day2End"
ormtype="timestamp"
sqltype="datetime" />
<cfproperty
name="defaultCreditValue"
type="numeric"
sqltype="decimal(10,5)" />
<cfproperty
name="sessionCode"
type="string"
sqltype="varchar(max)" />
<cfproperty
name="dateAdded"
fieldtype="column"
ormtype="timestamp"
sqltype="datetime"
dbDefault="GETDATE()"
insert="true"
update="false" />
<cfproperty
name="SpeakerEvalQuestions"
singularname="SpeakerEvalQuestion"
fieldtype="many-to-many"
cfc="SpeakerEvalQuestions"
inversejoincolum="speakerEvalQuestionID"
fkcolumn="sessionID"
lazy="extra"
orderby="sortOrder asc"
linktable="tblSpeakerEvalQs_Sessions"
type="array" />
</cfcomponent>
和
<cfcomponent output="false" persistent="true" table="tblSpeakerEvalQuestions">
<cfproperty
name="speakerEvalQuestionID"
fieldtype="id"
type="numeric"
generator="identity" />
<cfproperty
name="question"
type="string"
sqltype="varchar(200)" />
<cfproperty
name="scaleStartValue"
type="numeric"
sqltype="smallInt" />
<cfproperty
name="scaleEndValue"
type="numeric"
sqltype="smallInt" />
<cfproperty
name="sortOrder"
type="numeric"
sqltype="smallInt" />
<cfproperty
name="display"
type="numeric"
sqltype="smallInt" />
<cfproperty
name="dateAdded"
fieldtype="column"
type="date"
sqltype="datetime"
dbDefault="GETDATE()"
insert="true"
update="false" />
<cfproperty
name="sessions"
singularname="session"
fieldtype="many-to-many"
CFC="sessions"
fkcolumn="speakerEvalQuestionID"
inversejoincolumn="sessionID"
lazy="extra"
orderby="day1start asc"
linktable="tblSpeakerEvalQs_Sessions" />
</cfcomponent>
如果我从 session.cfc 中注释掉该SpeakerEvalQuestions
属性,那么应用程序将启动,当然其中一部分不起作用。但这至少证实了它的这一属性,而不仅仅是长期无法正常工作的属性中的第一个。
同样,在我不得不改变路径之前,这很好用。有人有什么想法吗?