Size: a a a

Node.js — русскоговорящее сообщество

2019 November 07

AA

Arkadiy Alexeev in Node.js — русскоговорящее сообщество
Green Bear
Я тут спорил как то про JWT, на деле никто не смог сказать чем конкретно он плох. И почему jwt нельзя считать ещё одной реализацией сессий.
jwt нельзя отключить удаленно без вмешательства в код, jwt хранит всякую инфу в открытом виде
источник

KS

Konstantin Sedykh in Node.js — русскоговорящее сообщество
Alex L
Т.е. в одной миграции нельзя сделать две зависимые таблицы?
ну сделай их сам await, в чём беда? просто нельзя об await говорить, как об отдельной синхронной операции. они синхронны только внутри async, как я выше и говорил.
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Alex L
Т.е. в одной миграции нельзя сделать две зависимые таблицы?
await knex.schema.createTable ...
await knex.schema.createTable ...
источник

KS

Konstantin Sedykh in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
await knex.schema.createTable ...
await knex.schema.createTable ...
угу, как то так, я думаю...
источник

AL

Alex L in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
await knex.schema.createTable ...
await knex.schema.createTable ...
Да я так и думал, и сделать async exports.up. Но не появился ли тогда риск что следующая миграция выполнится быстрее текущей, или это на уровне knex'а обрабатывается?
источник

V

Valentin in Node.js — русскоговорящее сообщество
Норм использовать new.target в ноде? Для реализации астрактных классов?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Alex L
Да я так и думал, и сделать async exports.up. Но не появился ли тогда риск что следующая миграция выполнится быстрее текущей, или это на уровне knex'а обрабатывается?
я не работал с knex, не могу сказать с гарантией
источник

KS

Konstantin Sedykh in Node.js — русскоговорящее сообщество
Alex L
Да я так и думал, и сделать async exports.up. Но не появился ли тогда риск что следующая миграция выполнится быстрее текущей, или это на уровне knex'а обрабатывается?
ээээ, гонка миграций? это что-то новое, во всяком случае для меня...
источник

AL

Alex L in Node.js — русскоговорящее сообщество
Собственно, у меня создаётся в миграции таблица, и хотел в этой же миграции создать внешний ключ в уже существующей таблице на новосозданную. Если createTable async, то думаю, появляется риск что повешение ключа вызовется быстрее чем создание таблицы
источник

AL

Alex L in Node.js — русскоговорящее сообщество
Konstantin Sedykh
ээээ, гонка миграций? это что-то новое, во всяком случае для меня...
Ключевое словосочетание — "не появится ли риск")
источник

V

Valentin in Node.js — русскоговорящее сообщество
или лучше писать, типа:
class Widget {
   constructor() {
       if (this.constructor === Widget) {
         throw new TypeError(' не не не')
       }
       if (this.method_1 === void 0) { ...}
источник

KS

Konstantin Sedykh in Node.js — русскоговорящее сообщество
Alex L
Собственно, у меня создаётся в миграции таблица, и хотел в этой же миграции создать внешний ключ в уже существующей таблице на новосозданную. Если createTable async, то думаю, появляется риск что повешение ключа вызовется быстрее чем создание таблицы
ну так вешай ключь внутри async после await'ов... или бд разные?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Alex L
Собственно, у меня создаётся в миграции таблица, и хотел в этой же миграции создать внешний ключ в уже существующей таблице на новосозданную. Если createTable async, то думаю, появляется риск что повешение ключа вызовется быстрее чем создание таблицы
а чем не подходит способ из доки?

exports.up = function(knex) {
 return knex.schema
   .createTable('users', function (table) { ... })
   .createTable('products', function (table) { ... })
};
источник

AL

Alex L in Node.js — русскоговорящее сообщество
Konstantin Sedykh
ну так вешай ключь внутри async после await'ов... или бд разные?
Вопрос тот же — а следующая миграция не выполнится раньше, чем текущая?
источник

KS

Konstantin Sedykh in Node.js — русскоговорящее сообщество
Alex L
Вопрос тот же — а следующая миграция не выполнится раньше, чем текущая?
как я понял из твоего контекста, то нет.  добавление  связанного ключа будет после добавления таблиц.
источник

AK

Andrey Kartashov in Node.js — русскоговорящее сообщество
Arkadiy Alexeev
jwt нельзя отключить удаленно без вмешательства в код, jwt хранит всякую инфу в открытом виде
любой инструмент имеет свои ограничения и область применимости. Продумывание архитектуры и рисков никто не отменял
источник

KS

Konstantin Sedykh in Node.js — русскоговорящее сообщество
все миграции в любом случае будут в пуле, кто раньше добавился, тот раньше и выпонится.
источник

AL

Alex L in Node.js — русскоговорящее сообщество
Konstantin Sedykh
как я понял из твоего контекста, то нет.  добавление  связанного ключа будет после добавления таблиц.
Мигратор выбирает миграцию 1 из списка, она завершает выполнение, затем мигратор выбирает миграцию 2. Если миграция 1 async, то мигратор может выбрать миграцию 2 до завершения миграции 1. Вот такая ситуация реальна?
источник

KS

Konstantin Sedykh in Node.js — русскоговорящее сообщество
Alex L
Мигратор выбирает миграцию 1 из списка, она завершает выполнение, затем мигратор выбирает миграцию 2. Если миграция 1 async, то мигратор может выбрать миграцию 2 до завершения миграции 1. Вот такая ситуация реальна?
у тебя не наступит миграция 2, пока миграция 1 не закончится. noda асинхронна, бд - нет.
источник

AL

Alex L in Node.js — русскоговорящее сообщество
Konstantin Sedykh
у тебя не наступит миграция 2, пока миграция 1 не закончится. noda асинхронна, бд - нет.
Даже если миграция 1 async?
источник