Миграции для Java

Вам нужно построить URL-адрес, используя javascript / jquery. В представлении измените ссылку на

<a id="export" href=#">Export as CSV</a>

Затем в скрипте

var baseurl = '@Url.Action("Export")';
$('#export').click(function() {
  var url = baseurl + '?SelectedAccountType=' + $('#SelectedAccountType').val() + '&FromDate=' + $('#FromDate').val() + '&ToDate=' + $('#ToDate').val() + ...etc
  location.href=url;
});

Однако, если ваша форма отмечена FormMethod.Get, вы можете просто использовать обычный режим отправки и не требуется jquery

@using (Html.BeginForm("Export", "yourControllerName", FormMethod.Get))
{
  @Html.TextBoxForm(m => m.SelectedAccountType)
  ....
  <input type="submit" value="Export" />
}
84
задан Christoph Schiessl 21 October 2008 в 13:54
поделиться

6 ответов

Я использовал SchemaUpdate Hibernate для выполнения той же функции как миграции. Это на самом деле легче, чем миграции, потому что каждый раз Вы запускаете свое приложение, это исследует структуру базы данных и синхронизирует его с Вашими отображениями, таким образом, нет никакого дополнительного шага rake:db:migrate, и Ваше приложение никогда не может быть вне синхронизации с базой данных, против которой это работает. Будьте в спящем режиме отображая файлы, не более сложны, чем миграции направляющих поэтому, даже если Вы не использовали, в спящем режиме в приложении, Вы могли бы использовать в своих интересах его. Оборотная сторона - то, что это не столь гибко до отката, мигрируя вниз, выполняя операторы DML. Как указано в комментариях, это также не отбрасывает таблицы или столбцы. Я выполняю отдельный метод сделать тех вручную как часть Быть в спящем режиме процесса инициализации.

я не вижу, почему Вы не могли использовать миграции направляющих, хотя - пока Вы не возражаете устанавливать стек (Ruby, Грабли, направляющие), Вы не должны были бы касаться своего приложения.

8
ответ дан Brian Deterling 5 November 2019 в 16:22
поделиться

Grails имеет утилита dbmigrate, которая сделана по образцу того от направляющих. Так как это реализовано в Groovy, необходимо быть в состоянии использовать его из любого из проектов Java.

10
ответ дан Kyle Burton 5 November 2019 в 16:22
поделиться

Также есть две независимые реализации рельсовых миграций для Java:

1) Миграции на основе Maven из Carbon Five

2) Задачи на основе Ant из Hashrocket (мой личный фаворит)

Хотя эти пакеты были написаны специально для Maven и Ant, немного поработав, вы можете адаптировать их практически ко всему.

6
ответ дан 24 November 2019 в 08:36
поделиться

Liquibase - еще один проект в этой области, который стоит проверить .

12
ответ дан 24 November 2019 в 08:36
поделиться

Migrate4j кажется кандидатом, но проект не выглядит достаточно зрелым для использования в производстве.

4
ответ дан 24 November 2019 в 08:36
поделиться

Я наткнулся на это сообщение, когда исследовал тот же вопрос. Я еще не пришел к каким-либо выводам о лучшем инструменте или подходе, но один инструмент, с которым я столкнулся, который пока не упоминался в других ответах, - это dbdeploy . Мне было бы интересно прочитать любые сравнения этих инструментов.

Некоторые другие соответствующие ресурсы: несколько устаревшая публикация Мартина Фаулера и Прамода Садаладжа о Evolutionary Database Design и книга Refactoring Databases: Evolutionary Database Design Садаладжа и Скота Амблера.

6
ответ дан 24 November 2019 в 08:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: