Size: a a a

Sequelize - community (eng/ru)

2020 January 23

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
iCheater iCheater
есть практические пример зачем нужны миграции и сиды?  в какой ситуации без них никак?
Миграции

Миграции нужны для того, чтобы  засунуть схему БД в систему контроля версий. Чтобы также, как ты можешь ходить вперёд назад по версиям приложения в гите, ты мог ходить по версиям схемы БД.

sync можно делать только тогда, когда БД пустая или изменения супер простые.

В настоящей же БД уже лежат данные. Надо изменить БД так, чтобы данные не пострадали.

При чём в сложном случае миграция будет не просто "добавить колонку, поменять тип", а может значительно менять схему, и придётся написать кучку запросов, чтобы перевести данные из старой схемы в новую.

Сиды

1. Наполнение БД некоторой "базовой информацией". Например, "константные" значения в таблицах, которые по смыслу похожи на enum, если такого не было в миграциях, или прочее подобное изменение.

2. Собственно наполнение БД для разработки и тестирования. Чтобы можно было клонировать репозиторий, выполнить пару команд и всё, у тебя в нужной версии готова БД с нужным набором данных, с которым можно работать и играть с приложением.
источник

GS

Grigorii K. Shartsev in Sequelize - community (eng/ru)
Ну и миграции ещё в идеале есть не только вперёд, но и назад, чтобы можно было в случае чего прод откатить назад)
источник

ii

iCheater iCheater in Sequelize - community (eng/ru)
Еще вопрос тогда по сидам.
В сидах мы не имеем доступа к методам моделей или  хукам и просто вставляем чистые данные, без связей?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
мы вставляем статические данные
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
а не данные бизнес логики
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
типо, перечень ролей
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
и т.д.
источник

ii

iCheater iCheater in Sequelize - community (eng/ru)
👌
источник
2020 January 24

PA

Paulo Arthur in Sequelize - community (eng/ru)
Good morning, does anyone know how I can update the data using bulkCreate
источник

PA

Paulo Arthur in Sequelize - community (eng/ru)
INSERT INTO "equipamentovisitas" ("cnequipamentovisita","relatorio","createdAt","updatedAt") VALUES (35,'dasfhjklç~lkghsesrfghjkljhgf','2020-01-24 13:08:00.501 +00:00','2020-01-24 13:08:00.500 +00:00') ON CONFLICT ("cnequipamentovisita") DO UPDATE SET "relatorio"=EXCLUDED."relatorio" RETURNING *;
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Paulo Arthur
Good morning, does anyone know how I can update the data using bulkCreate
bulkCreate it's only for insert
источник

PA

Paulo Arthur in Sequelize - community (eng/ru)
{ SequelizeDatabaseError: syntax error at or near "ON"
источник

PA

Paulo Arthur in Sequelize - community (eng/ru)
Yaroslav Zhymkov
bulkCreate it's only for insert
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
it's solution when conflict, no update
источник

PA

Paulo Arthur in Sequelize - community (eng/ru)
aaah
источник

PA

Paulo Arthur in Sequelize - community (eng/ru)
is there anything to update several?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Your_model.update({ field1 : 'foo' },{ where : { id : ids }});
источник

PA

Paulo Arthur in Sequelize - community (eng/ru)
and with several updates
источник

PA

Paulo Arthur in Sequelize - community (eng/ru)
array
источник

PA

Paulo Arthur in Sequelize - community (eng/ru)
for .....
you_model.update... ?
источник