Size: a a a

TypeORM - Русскоязычное сообщество

2021 February 03

И

Илья in TypeORM - Русскоязычное сообщество
Сек, чекну, как у нас
источник

🐙

🐙 in TypeORM - Русскоязычное сообщество
Спасибо! Такое ощущение что я какие-то фундаментальные основы разработки под SQL-базу пропустил...
источник

И

Илья in TypeORM - Русскоязычное сообщество
Ооо, а у нас миграции из скрипта программы прогоняются, вызываются в конфигурации орм
источник

🐙

🐙 in TypeORM - Русскоязычное сообщество
Ну я тоже думал думал и пришёл к выводу что это не такой плохой вариант. Но вопросик всё ещё остался - прогон запускается перед запуском приложения?

А, ну логично что да.
Ок, спасибо, сделаю у себя тоже 😌
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
Илья
Пока разрабатываешь - используй синк, удобно до тех пор, пока не пойдешь, что править в ближайшее время не будешь бд
Как только дня 3-4 не исправлял - создаёшь пустую бд и делаешь для нее миграцию (в тайп орм их можно автоматически генерить)
После чего удаляешь начальную бд, создаешь её заново и прогоняешь миграцию
Убеждаешься что все отлично и теперь перестаешь юзать синк
лучше сразу писать миграции, проектировать базу и таблицы все которые потребуются и делать на это миграции, потом описывать тайп орм сущности чтобы замапить на таблицы которые создал через миграции

так быстрее все получается, так как при автосинке мало проектируешь и просто клепаешь сущности и разбираешся с декораторами тайп орм, чаще то что в этот момент на проектировал криво получится, так как внимание концентрировал на сущностях в коде, а там всяких мани ту мани третьих таблиц нет, и не видишь всей картины

в итоге 1/3 более или менее сделано, но остальное можно выкидывать и по новой проектировать и как итог и в коде везде переделки идут кучу рефакторинга по всему проекту

ну мое мнение, лучше потратить время на проектирование структур данных и написание миграций на sql, чем птом разгребать все время и рефакторить по сто раз и базу и код
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
в процессе модификаций там уже только ручные миграции, так как автосинк тайпорм миграции не учитывают наличия данных, тоесть иногда учитывают, но чаще оно все перетирает
источник

И

Илья in TypeORM - Русскоязычное сообщество
🏡 ILshat Khamitov
лучше сразу писать миграции, проектировать базу и таблицы все которые потребуются и делать на это миграции, потом описывать тайп орм сущности чтобы замапить на таблицы которые создал через миграции

так быстрее все получается, так как при автосинке мало проектируешь и просто клепаешь сущности и разбираешся с декораторами тайп орм, чаще то что в этот момент на проектировал криво получится, так как внимание концентрировал на сущностях в коде, а там всяких мани ту мани третьих таблиц нет, и не видишь всей картины

в итоге 1/3 более или менее сделано, но остальное можно выкидывать и по новой проектировать и как итог и в коде везде переделки идут кучу рефакторинга по всему проекту

ну мое мнение, лучше потратить время на проектирование структур данных и написание миграций на sql, чем птом разгребать все время и рефакторить по сто раз и базу и код
Я просто всегда, даже для многие ко многим, создаю отдельеый энтити
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
на работе тоже приходится делать такое, чтобы запросы кастомные делать напрямую к этим таблицам чтобы быстрее, а вообще тайп орм дает возможность не делать такие штуки, он связывает все через декораторы и за счет них можно дозапросить данные
источник

И

Илья in TypeORM - Русскоязычное сообщество
🏡 ILshat Khamitov
на работе тоже приходится делать такое, чтобы запросы кастомные делать напрямую к этим таблицам чтобы быстрее, а вообще тайп орм дает возможность не делать такие штуки, он связывает все через декораторы и за счет них можно дозапросить данные
Да, видел в доках
НАм нужно знать время, когда запись появилась, поэтому отдыльный энтити
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
ну вот как раз пример говно кода без миграций начальных)
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
руками когда миграции создаешь мог описать эту третью таблицу как тебе надо и сделать поле креатедАт с дефолтным значением текущая дата
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
птом эту таблицу через декораторы указать в связных ентити и не нужна лишняя ентити в коде
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
сперва проектируем базу и таблицы, птом когда все кажется логичным, рисуем ентити и мапим на базу
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
на этапе проектирования можно примерные данные загонять и выборки делать этих данных, на этом этапе еще могут идеи возникнуть че где добавить и убавить
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
это все мышкой в датагрип делается структура таблиц, птом просто экспортом выгружаешь и готова миграция, запросы тока в ручную писать, но там есть автокомплит
источник
2021 February 04

T

Timofey in TypeORM - Русскоязычное сообщество
Всем привет! Как с помощью typeorm можно добавить виртуальное поле, содержащее значение какой-либо колонки последней записи связанной таблицы, при отношении многие ко многим ?
источник

T

Timofey in TypeORM - Русскоязычное сообщество
Может пример у кого есть
источник

ЛС

Логинов Сергей... in TypeORM - Русскоязычное сообщество
Читай документацию
источник

ЛС

Логинов Сергей... in TypeORM - Русскоязычное сообщество
Через билдер
источник

ЛС

Логинов Сергей... in TypeORM - Русскоязычное сообщество
Там можешь свои поля поставить вычисояемые
источник