Propel2 Обратный второй прогон удалил столбцы - PullRequest
0 голосов
/ 23 февраля 2019

Я новичок в продвижении.Похоже, встроенной команды версии нет, но в моем описании композитор показывает 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;
}

Кто-нибудь знает, что я пропустил?

1 Ответ

0 голосов
/ 24 февраля 2019

У меня был дополнительный файл schema.xml, висящий в каталогах проекта, который читался вместо того, который я генерировал, вызывая генерацию старых полей.Это было скорее ошибкой с моей стороны, чем ошибкой.

...