Как создать нового пользователя в чистом SQL

Спасибо за совет по app.yml, это сработало.

Хорошо, я тестирую это:

  1. Установил плагин migrationpassword
  2. Включил опцию «Разрешить миграцию паролей с незащищёнными паролями»
  3. Создал нового пользователя (через API)
  4. Добавил хеш пароля в пользовательские поля
    Например: insert into user_custom_fields (user_id, name, value, created_at, updated_at) values (2,‘import_pass’,‘2aee1c40222c7754d4534xxxxxxx’, now(), now());
  5. Пытаюсь войти как новый пользователь с паролем со старого форума

Вход не удаётся с ошибкой «Неверное имя пользователя, email или пароль», но я запутался в вашем ответе выше: API не позволяет создать пользователя, если не указан пароль (я просто использовал MD5-хеш), но вы говорите, что если есть пароль, он будет иметь приоритет над MD5-хешем?

Я бы не рекомендовал использовать хэш MD5 в качестве пароля, так как он будет использоваться как сам пароль. Если поле пароля не потребуется при создании пользователя, просто используйте длинную случайную строку.

То, что я пытался сказать, заключается в следующем: Discourse сначала попытается выполнить вход пользователя, сравнив введенный пароль с сохраненным. Только если эта попытка не удалась, плагин migratepassword вступит в действие, и он попытается проверить правильность введенного пользователем пароля, сравнив его с пользовательским полем, используя ряд встроенных альтернативных алгоритмов хеширования (MD5 — один из них).

Ах, извините, моя ошибка — я указал неверное значение хеша пароля в user_custom_fields. Хорошо, теперь это исправлено, спасибо…

…однако

Хотя я создал пользователя с activate = true, и в консоли администратора отображается, что пользователь активирован, при попытке входа появляется сообщение:

Вы пока не можете войти. Ранее мы отправили вам письмо с подтверждением на адрес user@email.com. Пожалуйста, следуйте инструкциям в этом письме, чтобы активировать свою учётную запись.

Почему я получаю это сообщение? Я пытался его избежать.

У меня работает… какие ошибки вы получаете?

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

Извините, но я закрою этот вопрос с формулировкой «пожалуйста, не делайте этого».

Слишком рискованно, и вы, скорее всего, забудете о множестве побочных эффектов.