Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8053331

Browse files
Add nice indents
1 parent50fb0b4 commit8053331

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

‎flyway-and-spring-boot/text-based-guide/flyway-and-spring-boot.md‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,19 @@ volumes:
9999
Amplicode Explorer позволяет добавить необходимые стартеры и библиотеки к проекту. Для этого необходимо:
100100
* Щелкнуть правой кнопкой мыши по узлу **Configuration**
101101
* Выбрать опцию **Add Configuration**
102+
102103
![](images/add-configuration.png)
104+
103105
* В открывшемся окне выбрать **DB Migration Configuration**
106+
104107
![](images/db-migration-configuration.png)
108+
105109
Откроется диалоговое окно **DB Migration Settings**.
110+
106111
![](images/db-migration-settings.png)
107112

108113
Далее необходимо сделать следующее:
114+
109115
* В открывшемся всплывающем диалоговом окне выбрать **Flyway**
110116

111117
![](images/db-migration-setting-choose-flyway.png)
@@ -120,16 +126,22 @@ Amplicode Explorer позволяет добавить необходимые с
120126

121127
Благодаря выбору первого чекбокса произойдет автоматическое перенаправление к окну генерации скрипта базы данных. Благодаря выбору второго чекбокса Amplicode добавит свойство в файл `application.properties`, позволяющее запускать приложение и выполнять скрипт инициализации только в том случае, если база данных будет пустой. В остальных случаях скрипт инициализации будет отмечен как выполненный, но фактически выполняться не будет.
122128
* В качестве источника данных для генерации скрипта инициализации выберем базу данных. Для анализа ее структуры Amplicode потребуется подключение к базе данных.
129+
123130
![](images/db-migration-settings-source-type.png)
131+
124132
* Выбрать опцию создания нового подключения.
125133
(Здесь необходимо отметить, что Amplicode позволяет создать подключение к базе данных с нуля, либо отталкиваясь от информации, указанной для источника данных в приложении. Здесь следует выбрать второй вариант, так как источник данных в приложении уже настроен.)
134+
126135
![](images/create-new-from-data-source.png)
127136

128137
Появится следующее диалоговое окно:
138+
129139
![](images/detected-data-sources.png)
130140

131141
* Нажмите **Create DB Connection**. Теперь вы увидите следующее окно:
142+
132143
![](images/db-connection-dialog.png)
144+
133145
* Нажмите **Test Connection**, чтобы проверить подключение. После этого нажмите **OK**.
134146
* Нажмите **OK** также в главном диалоговом окне.
135147

@@ -198,36 +210,54 @@ flyway {
198210

199211
Предварительно откроем класс сущности `Post`. Чтобы добавить новую сущность - `Comment` и установить отношение "многие ко многим" с сущностью `Post` с помощью Amplicode Designer:
200212
* Откройте окно создания ассоциации двойным щелчком на пункте меню **Attributes** -> **Association** в палитре
213+
201214
![](images/new-association-attribute-window.png)
215+
202216
* Создайте новую сущность нажатием на кнопку плюс, укажите ей имя и выберите родительский класс.
217+
203218
![](images/name-and-parent.png)
219+
204220
* Измените кардинальность ассоциации на "многие ко многим". Amplicode уже выбрал наиболее оптимальный тип для ассоциации "многие ко многим" — `Set`, но для полностью корректной работы `Set` с JPA сущностями также необходимо чтобы у неё были корректно переопределены методы `equals()` и `hashCode()`. Amplicode знает об этом, и предупреждает, что текущая реализация может быть неоптимальной в плане производительности и предложит сгенерировать реализацию методов `equals()` и `hashCode()`. Чтобы согласиться с этим предложением, нажмите соответствующую ссылку.
221+
205222
![](images/many-to-many.png)
223+
206224
* Нажмите ОК, чтобы создать соответствующий класс `Comment`.
207225

208226
Теперь необходимо сгенерировать для сущности `Comment` новый базовый атрибут `text`, а также создать отношение "многие к одному" с сущностью `User`. Для этого:
227+
209228
* Установите курсор на имени класса `Comment` в соответствующем файле
210229
* Вызовите всплывающее окно **Generate**, нажав **Alt+Insert** для Windows/Linux или **⌘+N** для macOS.
230+
211231
![](images/generate.png)
232+
212233
* Выберите **Entity Attribute**
213234
* В окне типа атрибута выберите `Persist` и введите имя типа `User`
235+
214236
![](images/type-string.png)
237+
215238
* Введите тип (**String**) и имя (**text**) для атрибута
239+
216240
![](images/entity-attribute.png)
241+
217242
* Нажмите **OK**
218243
* Еще раз вызовите окно **Generate**
219244
* Выберите **Entity Attribute**
220245
* В окне типа атрибута выберите `Persist` и введите имя типа `User`
246+
221247
![](images/type-user.png)
248+
222249
* Задайте название атрибута (`author`) и сделайте его обязательным.
250+
223251
![](images/author-mandatory.png)
252+
224253
* Нажмите **OK**
225254

226255
Задача по модификации JPA модели выполнена. Следующий шаг — генерации скриптов миграции Flyway.
227256

228257
## Генерация Flyway скриптов миграции для синхронизации JPA модели и схемы БД
229258

230259
Для создания Flyway скрипта миграции необходимо обратиться к панели Amplicode Explorer и в секции DB Versioning выбрать пункт **Flyway Versioned Migration**.
260+
231261
![](images/explorer-flyway-migration.png)
232262

233263
В открывшемся окне следует убедиться в правильности выбранных persistence unit и подключения к базе данных.
@@ -248,7 +278,9 @@ flyway {
248278

249279
Для этого необходимо:
250280
* Выбрать скрипты, относящиеся к изменению пользователя
281+
251282
![](images/select-scripts-user.png)
283+
252284
* В верхней панели выбрать действие переноса скриптов в новый файл миграции: (![](images/move-scripts.png) )
253285

254286
* Задать название каждому из файлов
@@ -286,9 +318,11 @@ Amplicode автоматически разместил этот скрипт в
286318
Хорошей практикой при разработке Spring Boot приложения и использованием системы версионирования баз данных является применение возможностей валидации соответствия JPA модели и схемы базы данных при помощи Hibernate. Путем использования свойства Hibernate `spring.jpa.hibernate.ddl-auto` со значением `validate` мы можем обеспечить соответствие JPA модели и схемы базы данных.
287319

288320
Внесите следующий код в файл `application-properties`:
321+
289322
```properties
290323
spring.jpa.hibernate.ddl-auto=validate
291324
```
325+
292326
Чтобы сделать это быстро, начните печатать `ddl-auto` и Amplicode предложит вам соответствующее свойство. Достаточно будет выбрать его из выпадающего списка и нажать `Enter`.
293327

294328
![](images/validate.png)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp