Size: a a a

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

2019 July 17

LK

L K in TypeORM - Русскоязычное сообщество
эта штука не замапит тебе плоскую структуру с результата базы на вложенную
как это делает ORM
источник

АП

Алексей Пастушенко in TypeORM - Русскоязычное сообщество
L K
эта штука не замапит тебе плоскую структуру с результата базы на вложенную
как это делает ORM
из базы можно и json вытягивать
источник

LK

L K in TypeORM - Русскоязычное сообщество
окей, у тебя в базе будет snake_case
твои действия ?
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
Алексей Пастушенко
без тайпорма, если нужны DTO
ну всё-таки в таком раскладе теряется функционал работы собственно со связями… не только выборки, и typeorm и objection поддерживают вставку и обновление сразу графа связанных сущностей – я этим регулярно пользуюсь – набил структурку из данных – save() и всё улетело в базу, потом выбрал со связями, обновил – save() и всё обновилось…
источник

LK

L K in TypeORM - Русскоязычное сообщество
у тебя весь проект будет со snake_case ?
источник

С

Сын маминой подруги in TypeORM - Русскоязычное сообщество
Что-то походу не пришлось долго ждать, и влетел в проблемы с тайпорм. Если таблица пустая, приложенька нормально стартует. В базе 1 табличка. Если загоняю туда порядка 250к записей, то стартовать не хочет. Никаких селектов на старте нет! Что за дичь?
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
у objection тоже есть какой-то upsertGraph, правда я им практически не пользовался, но коллеги хвалили…
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
Сын маминой подруги
Что-то походу не пришлось долго ждать, и влетел в проблемы с тайпорм. Если таблица пустая, приложенька нормально стартует. В базе 1 табличка. Если загоняю туда порядка 250к записей, то стартовать не хочет. Никаких селектов на старте нет! Что за дичь?
запустить с TYPEORM_LOGGING=1 и посмотреть…
источник

АП

Алексей Пастушенко in TypeORM - Русскоязычное сообщество
Константин Брызгалин
ну всё-таки в таком раскладе теряется функционал работы собственно со связями… не только выборки, и typeorm и objection поддерживают вставку и обновление сразу графа связанных сущностей – я этим регулярно пользуюсь – набил структурку из данных – save() и всё улетело в базу, потом выбрал со связями, обновил – save() и всё обновилось…
удобненько - гляну..
источник

АП

Алексей Пастушенко in TypeORM - Русскоязычное сообщество
не знал
источник

С

Сын маминой подруги in TypeORM - Русскоязычное сообщество
Константин Брызгалин
запустить с TYPEORM_LOGGING=1 и посмотреть…
спасибо
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
включать логирование запросов в orm – это у меня привычка ещё с пхп-шных времён… что там под капотом эта «коробочка» делает с базой – лучше внимательно контролировать – самый распространённый косяк – залёт на N+1 запросов на связях. я видел в легаси-коде страничку, которая на холодном кэше генерировала 22000 запросов – кто-то просто кодил с орм которая просто работала… 🙂
источник

АП

Алексей Пастушенко in TypeORM - Русскоязычное сообщество
Константин Брызгалин
включать логирование запросов в orm – это у меня привычка ещё с пхп-шных времён… что там под капотом эта «коробочка» делает с базой – лучше внимательно контролировать – самый распространённый косяк – залёт на N+1 запросов на связях. я видел в легаси-коде страничку, которая на холодном кэше генерировала 22000 запросов – кто-то просто кодил с орм которая просто работала… 🙂
работала, работала, работала....
источник

RA

Robert Arzin in TypeORM - Русскоязычное сообщество
Константин Брызгалин
запустить с TYPEORM_LOGGING=1 и посмотреть…
лмбо указать в ormconfig
logging=true
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
да, там есть много вариантов конфигурирования… но для одноразового запуска наверное через окружение всё-таки проще и быстрее…
источник

RA

Robert Arzin in TypeORM - Русскоязычное сообщество
Константин Брызгалин
да, там есть много вариантов конфигурирования… но для одноразового запуска наверное через окружение всё-таки проще и быстрее…
согласен
источник

RA

Robert Arzin in TypeORM - Русскоязычное сообщество
товарищи, подскажите пожалуйста!
компилирую код из ts -> js, и после этого запускаю свой <s>гавно</s> код и typeorm почему-то не импортирует entity в entityMetadatas. Может кто сталкивался с данной проблемой?
какие есть варианты решения данной проблемы?
источник

С

Сын маминой подруги in TypeORM - Русскоязычное сообщество
Robert Arzin
товарищи, подскажите пожалуйста!
компилирую код из ts -> js, и после этого запускаю свой <s>гавно</s> код и typeorm почему-то не импортирует entity в entityMetadatas. Может кто сталкивался с данной проблемой?
какие есть варианты решения данной проблемы?
какая у тебя структура и что прописано в конфиге подключения в entities?
источник

КБ

Константин Брызгалин in TypeORM - Русскоязычное сообщество
если код собирается, надо указывать как entities скомпилированные файлы. типа dist/entities/**/*.js, а вот если используется ts-node, тогда наоборот – исходные ts-файлы…
источник

С

Сын маминой подруги in TypeORM - Русскоязычное сообщество
У меня такая структураЖ
/dist
--/config
----/db.js
--/entity -
----/model.js

/src - исходники
--/config
----/db.ts
--/entity
----/model.ts

и в db.ts такой конфиг:
module.exports = {
 type: 'mysql',
 url: process.env.DB_URL,
 database: process.env.DB_DATABASE,
 synchronize: process.env.DB_SYNCHRONIZE || false,
 logging: process.env.DB_LOGGING || false,
 logger: 'advanced-console',
 entities: [path.resolve(__dirname, '../entity/**/*.[jt]s')],
 migrations: [path.resolve(__dirname, '../migration/**/*.[jt]s')],
 cli: {
   entitiesDir: 'src/entity',
   migrationsDir: 'src/migration',
 },
} as ConnectionOptions;

при старте ts-node работаю .ts модельки, а при билде и запуске скомпилированного кода, работают *.js
источник