我是新来的推动者。似乎没有内置的版本命令,但是composer在我的描述中显示了propel2。
我从数据库对我的方案和模型进行了反向工程,然后从项目中撤出了六个月的时间,回来了,直接重新制作了数据库,删除了生成的类和生成的反向数据库。
然后我跑了
propel reverse "mysql:host=localhost;dbname=MyVanLog;user=**;password=**"
完成后,我打开了schema.xml文件,并通过视觉验证了燃油价格栏不再存在。
<table name="LogEntries" idMethod="native" phpName="Logentries">
<column name="LogEntryId" phpName="Logentryid" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/>
<column name="UserId" phpName="Userid" type="INTEGER" primaryKey="true" required="true"/>
<column name="RvId" phpName="Rvid" type="INTEGER" primaryKey="true" required="true"/>
<column name="Title" phpName="Title" type="VARCHAR" size="45" required="true"/>
<column name="Description" phpName="Description" type="CLOB"/>
<column name="Longitude" phpName="Longitude" type="DECIMAL" size="10" scale="8"/>
<column name="Latitude" phpName="Latitude" type="DECIMAL" size="10" scale="8"/>
<column name="Temperature" phpName="Temperature" type="DECIMAL" size="3" scale="1"/>
<column name="Private" phpName="Private" type="VARCHAR" size="1" sqlType="bit(1)" required="true"/>
<column name="CreatedOnUTC" phpName="Createdonutc" type="TIMESTAMP" required="true"/>
<column name="ModifiedOnUTC" phpName="Modifiedonutc" type="TIMESTAMP" required="true"/>
<foreign-key foreignTable="Users" name="FK_36">
<reference local="UserId" foreign="UserId"/>
</foreign-key>
<foreign-key foreignTable="Rvs" name="FK_40">
<reference local="RvId" foreign="RvId"/>
<reference local="UserId" foreign="UserId"/>
</foreign-key>
<index name="fkIdx_36">
<index-column name="UserId"/>
</index>
<index name="fkIdx_40">
<index-column name="RvId"/>
<index-column name="UserId"/>
</index>
<vendor type="mysql">
<parameter name="Engine" value="InnoDB"/>
</vendor>
然后我运行propel build生成我的模型。我打开了base / LogEntries文件,它具有所有方法来处理不再存在的字段。我不会粘贴整个文件,但这是get方法。
/**
* Get the [fuelpriceinvalid] column value.
*
* @return string
*/
public function getFuelpriceinvalid()
{
return $this->fuelpriceinvalid;
}
有人知道我错过了吗?
答案 0 :(得分:0)
我在正在读取的项目目录中挂出了一个额外的schema.xml文件,而不是我生成的导致旧字段生成的文件。这可能只是我的一个错误,而不是推进错误。