4

我已经有一个 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属性,那么应用程序将启动,当然其中一部分不起作用。但这至少证实了它的这一属性,而不仅仅是长期无法正常工作的属性中的第一个。

同样,在我不得不改变路径之前,这很好用。有人有什么想法吗?

4

1 回答 1

1

您是否打开了 CF Administrator 中的任何缓存选项?如果是这样,请关闭它们,或清除缓存。

于 2013-01-14T04:17:30.497 回答