Антон
однако
Anonymous
Ребят вопрос не по теме и очень туповат; нармально ли делать посадку сайта на cms wordpress?
Anonymous
Ilya
мне ща как раз миграции рисовать. дропать альтерить. как я это не люблю. ох как я это не люблю
Anonymous
Жизв
Ilya
Ilya
я думаю дружко надо пристрелить
Anonymous
Почему?
Ilya
потому что он безыдейный пиздабол
Igor
Зато харизматичный
Ilya
Anonymous
Антон
мне ща как раз миграции рисовать. дропать альтерить. как я это не люблю. ох как я это не люблю
в похапе доктрина сравнивает модели и схему бд, и генерит недостающие миграции сама - это наверное единственный реальный плюс пхп, пока на джиэс что-то подобное не запилят
Ilya
хрен знает - мне нужен save и delete на выдернутой из модели записи. максимум
Ilya
чем больше наворотят в библиотеке тем хуже для скорости
Антон
я для себя решил, что самый оптимальный вариант - это cqrs, чтение на graphQL, мутабельые операции - на орм/кверибилдере
Ilya
ты еще про жавовский hibernate расскажи. он запросы могет. сложный. а вот какие запросы он строит - другой вопрос
Антон
доктрину и сделали с ориентиром на хбернейт, насколько я помню) возможности должны быть примерно одинаковыми
Ilya
да, только хибернейт стартует 1 раз )
Ilya
а доктрина каждый раз при старте похапе скрипта
Ilya
а так все ок )
Антон
ладно, это уже оффтоп)
Антон
а вот с инексами в секвелайз - это грусть, конечно, как и с отсутствием возможности генерить диффы
Aleksand
потому что он безыдейный пиздабол
ивангая еще обсудите, оч интересно послушать
Ilya
а вот с инексами в секвелайз - это грусть, конечно, как и с отсутствием возможности генерить диффы
ну хз. я тут сам себе ТЗ на ребилд трех таблиц думал полчаса. ркоблудие в миграции - это не такое большое зло в плане траты времени
Антон
когда в проекте 250 моделей - это тоже становится довольно не тривиальным
Ilya
когда в проекте 250 моделей - это тоже становится довольно не тривиальным
ты за одну миграцию часто меняешь больше 5-6 таблиц?
Антон
никогда, одна табла - одна миграция, чаще всего, если не релейшн изменяется, или какое-то комплексное изменение
Ilya
ну вот. так что не сильная проблема.
Антон
но дублирование кода в модели, потом в миграции и в итоге еще и в таблице - это нот гуд
Антон
не кода, точнее, а одних и тех же знаний
Ilya
ну это да
Aleksand
но дублирование кода в модели, потом в миграции и в итоге еще и в таблице - это нот гуд
а есть вообще реализации где такого нет? я вот не встречал, везде жопа с этим
Aleksand
в том или ином варианте
Антон
в пхп - доктрина, я же выше написал) думаю, хибернейт джавовский тоже умеет, что-то слышал про руби, но тут я совсем не уверен
Ilya
хз. я не вижу в этом жопы. вот правда
Антон
это не жопа, просто я за автоматизацию рутины - с генераторами жилось бы удобнее
Антон
https://github.com/sequelize/sequelize/issues/1339 судя по этому закрытому ишью - что-то оно должно по идее генерить
Антон
как с фронтом закончу - поверчу этот кли, пока времени нет
Ilya
ну так к нему вопросов и нет
Ilya
ахаха
Антон
UNIQUE KEY type (type)
Ilya
остальные ключи - хуй
Ilya
хз. уникальные я не юзал. вернее гдето есть
Ilya
да. юники вешает
Ilya
простые индексы нет
Ilya
1 модели с униками есть и их sync создавал
Ilya
а. короче. если в миграции рисуешь таблицу там индексы не делает. бага в этом
Ilya
хотя может они задокументировали createTable через жопу
Антон
https://github.com/Glavin001/graphql-sequelize-crud найс, если кто еще собирается юзать graphQL и sequelize в одном проекте)
Eugene
Тоже не конектит
V
не пашет слак
Антон
ага, не пашет
Антон
а теперь пашет, лол
Node.js releases
Node v6.11.0 (LTS) https://nodejs.org/en/blog/release/v6.11.0
Mikhail
Mikhail
Ребят, а как лучше реализовать формирование крон задач из постоянно меняющегося массива инфы? Есть такая конструкция, но постоянно прибавляются записи. Если постваить саму конструкцию в крон задачу, не будут ли дублироваться дочерние крон задачи?
Ilya
ты должен отслеживать что ты туда отправил и сверять
Mikhail
постоянно меняющихся это как?
У меня в функционале предусмотрено, что записи будут пополняться с ключом *:notifications
Ilya
если совпало - убиваешь кронжоб и создаешь новый
Ilya
заново.
Ilya
у меня есть похожий функционал - но я там кроны перегружаю на изменении файлов в каталоге
Mikhail
Я по github/node-cron не нашел, как удалить кронджоб или получить их список
Ilya
ну я сделал вот таку. херь
Ilya
class Task{ constructor(config) { this.failed = true; if (!config.schedule) throw new Error('No schedule in config'); /* * Seconds: 0-59 Minutes: 0-59 Hours: 0-23 Day of Month: 1-31 Months: 0-11 Day of Week: 0-6*/; this.cronJob = new CronJob( config.schedule, ()=> { this.run().catch( (error)=> { console.warn('CRON: error', error); }); }, ()=> { this.stopRun(); }, false ); this.failed = false; // other parts of config you rework manually } isAllCorrect() { return !this.failed; } // system start of cron job. must return promise start() { this.cronJob.start(); } // stop if cron job stop() { this.cronJob.stop(); } /** * This method runs when cron fired */ run() { // here you write your user code throw new Error('Child class must override run method'); } /** * This metod runs when CronJob#stop is called * May be your running task want know when user stop them */ stopRun() { // here you write your user code throw new Error('Child class must override run method'); } }
Ilya
свою обертку для контроля
Ilya
потом джобы наследую от нее
Ilya
ну и делаю структуры которы контролируют и хранят ЧТО запустил
Ilya
new CronJob вникуда это хуевая практика
Ilya
т.е. ты джоб создал а контроля не имеешь
Ilya
короче хранить массив джобов надо + держать WeakMap для поиска схожих джобов чтобы не задвоить говно