You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
@@ -120,16 +126,22 @@ Amplicode Explorer позволяет добавить необходимые с
120
126
121
127
Благодаря выбору первого чекбокса произойдет автоматическое перенаправление к окну генерации скрипта базы данных. Благодаря выбору второго чекбокса Amplicode добавит свойство в файл `application.properties`, позволяющее запускать приложение и выполнять скрипт инициализации только в том случае, если база данных будет пустой. В остальных случаях скрипт инициализации будет отмечен как выполненный, но фактически выполняться не будет.
122
128
* В качестве источника данных для генерации скрипта инициализации выберем базу данных. Для анализа ее структуры Amplicode потребуется подключение к базе данных.
129
+
123
130

131
+
124
132
* Выбрать опцию создания нового подключения.
125
133
(Здесь необходимо отметить, что Amplicode позволяет создать подключение к базе данных с нуля, либо отталкиваясь от информации, указанной для источника данных в приложении. Здесь следует выбрать второй вариант, так как источник данных в приложении уже настроен.)
134
+
126
135

127
136
128
137
Появится следующее диалоговое окно:
138
+
129
139

130
140
131
141
* Нажмите **Create DB Connection**. Теперь вы увидите следующее окно:
142
+
132
143

144
+
133
145
* Нажмите **Test Connection**, чтобы проверить подключение. После этого нажмите **OK**.
134
146
* Нажмите **OK** также в главном диалоговом окне.
135
147
@@ -198,36 +210,54 @@ flyway {
198
210
199
211
Предварительно откроем класс сущности `Post`. Чтобы добавить новую сущность - `Comment` и установить отношение "многие ко многим" с сущностью `Post` с помощью Amplicode Designer:
200
212
* Откройте окно создания ассоциации двойным щелчком на пункте меню **Attributes** -> **Association** в палитре
213
+
201
214

215
+
202
216
* Создайте новую сущность нажатием на кнопку плюс, укажите ей имя и выберите родительский класс.
217
+
203
218

219
+
204
220
* Измените кардинальность ассоциации на "многие ко многим". Amplicode уже выбрал наиболее оптимальный тип для ассоциации "многие ко многим" — `Set`, но для полностью корректной работы `Set` с JPA сущностями также необходимо чтобы у неё были корректно переопределены методы `equals()` и `hashCode()`. Amplicode знает об этом, и предупреждает, что текущая реализация может быть неоптимальной в плане производительности и предложит сгенерировать реализацию методов `equals()` и `hashCode()`. Чтобы согласиться с этим предложением, нажмите соответствующую ссылку.
221
+
205
222

223
+
206
224
* Нажмите ОК, чтобы создать соответствующий класс `Comment`.
207
225
208
226
Теперь необходимо сгенерировать для сущности `Comment` новый базовый атрибут `text`, а также создать отношение "многие к одному" с сущностью `User`. Для этого:
227
+
209
228
* Установите курсор на имени класса `Comment` в соответствующем файле
210
229
* Вызовите всплывающее окно **Generate**, нажав **Alt+Insert** для Windows/Linux или **⌘+N** для macOS.
230
+
211
231

232
+
212
233
* Выберите **Entity Attribute**
213
234
* В окне типа атрибута выберите `Persist` и введите имя типа `User`
235
+
214
236

237
+
215
238
* Введите тип (**String**) и имя (**text**) для атрибута
239
+
216
240

241
+
217
242
* Нажмите **OK**
218
243
* Еще раз вызовите окно **Generate**
219
244
* Выберите **Entity Attribute**
220
245
* В окне типа атрибута выберите `Persist` и введите имя типа `User`
246
+
221
247

248
+
222
249
* Задайте название атрибута (`author`) и сделайте его обязательным.
250
+
223
251

252
+
224
253
* Нажмите **OK**
225
254
226
255
Задача по модификации JPA модели выполнена. Следующий шаг — генерации скриптов миграции Flyway.
227
256
228
257
## Генерация Flyway скриптов миграции для синхронизации JPA модели и схемы БД
229
258
230
259
Для создания Flyway скрипта миграции необходимо обратиться к панели Amplicode Explorer и в секции DB Versioning выбрать пункт **Flyway Versioned Migration**.
260
+
231
261

232
262
233
263
В открывшемся окне следует убедиться в правильности выбранных persistence unit и подключения к базе данных.
@@ -248,7 +278,9 @@ flyway {
248
278
249
279
Для этого необходимо:
250
280
* Выбрать скрипты, относящиеся к изменению пользователя
281
+
251
282

283
+
252
284
* В верхней панели выбрать действие переноса скриптов в новый файл миграции: ( )
253
285
254
286
* Задать название каждому из файлов
@@ -286,9 +318,11 @@ Amplicode автоматически разместил этот скрипт в
286
318
Хорошей практикой при разработке Spring Boot приложения и использованием системы версионирования баз данных является применение возможностей валидации соответствия JPA модели и схемы базы данных при помощи Hibernate. Путем использования свойства Hibernate `spring.jpa.hibernate.ddl-auto` со значением `validate` мы можем обеспечить соответствие JPA модели и схемы базы данных.
287
319
288
320
Внесите следующий код в файл `application-properties`:
321
+
289
322
```properties
290
323
spring.jpa.hibernate.ddl-auto=validate
291
324
```
325
+
292
326
Чтобы сделать это быстро, начните печатать `ddl-auto` и Amplicode предложит вам соответствующее свойство. Достаточно будет выбрать его из выпадающего списка и нажать `Enter`.