Удалить столбец таблицы из задачи Ant - OpenJpa - PullRequest
0 голосов
/ 18 октября 2010

Говорят, что с использованием org.apache.openjpa.jdbc.ant.MappingToolTask ​​можно синхронизировать классы доменных моделей со схемой БДПоэтому, следуя сценарию в качестве задачи Ant, я смог добавить новые столбцы в указанные базы данных в файле persistance.xml.

<target>
   <taskdef name="mappingtool" classpathref="maven.compile.classpath" classname="org.apache.openjpa.jdbc.ant.MappingToolTask" />
      <mappingtool schemaAction="refresh" >
      </mappingtool>
</target>

Этот скрипт добавляет новые столбцы каждый раз, когда я добавляю новый атрибут в класс домена.но он не удалит соответствующий столбец, если я удаляю их из класса домена.Есть ли способ заархивировать синхронизацию для обоих (добавить / удалить) одним скриптом ant?

1 Ответ

0 голосов
/ 26 октября 2010

Просмотрите руководство пользователя здесь и здесь .

  • refresh : эквивалентно сохранению, затем добавьте.
    • retain : Сохраните все компоненты схемы в данном определении XML, но оставьте остальные из базы данных.Это действие никогда не добавляет никаких компонентов схемы.
    • add : это действие по умолчанию, если вы его не указали.Он приводит схему в соответствие с данным XML-документом, добавляя таблицы, столбцы, индексы и т. Д. Это действие никогда не удаляет какие-либо компоненты схемы.

Возможно, попробуйте изменить " refresh " на " drop, добавьте ".

...