首页 > 解决方案 > Propel2 Reverse 第二次运行已删除列

问题描述

我是新手。似乎没有内置版本命令,但作曲家在我的描述中显示了 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;
}

有谁知道我错过了什么?

标签: propel2

解决方案


我有一个额外的 schema.xml 文件挂在正在读取的项目目录中,而不是我生成的导致旧字段生成的文件。这可能只是我的一个错误,而不是推进错误。


推荐阅读