Como criar um novo usuário em SQL puro

Obrigado pela dica do app.yml, isso funcionou.

Ok, estou testando isso:

  1. Instalei o plugin migrationpassword
  2. Ativei a opção ‘Permitir que migratepassword aceite senhas inseguras’
  3. Criei um novo usuário (via API)
  4. Adicionei o hash da senha nos campos personalizados
    Ex: insert into user_custom_fields (user_id, name, value, created_at, updated_at) values (2,‘import_pass’,‘2aee1c40222c7754d4534xxxxxxx’, now(), now());
  5. Tente fazer login como o novo usuário com a senha do fórum antigo

Falha com ‘Nome de usuário, e-mail ou senha incorretos’, mas estou confuso com sua resposta acima: a API não me permite criar um usuário a menos que eu forneça uma senha (eu apenas usei o hash MD5), mas você diz que, se houver uma senha, ela prevalecerá sobre o hash MD5?

Não recomendo usar o hash md5 como senha, pois ele será utilizado como a senha real. Se você não precisar do campo de senha ao criar o usuário, basta usar uma string longa e aleatória.

O que eu quis dizer é que o Discourse primeiro tentará fazer o login do usuário comparando a senha inserida por ele com a senha armazenada. Somente quando essa tentativa falhar, o plugin migratepassword entrará em ação e verificará se a senha fornecida pelo usuário está correta, comparando-a com o campo personalizado usando vários algoritmos de hash alternativos integrados (sendo o md5 um deles).

Ah, desculpe, minha culpa. Eu havia colocado o valor errado para o hash da senha em user_custom_fields. Ok, isso resolveu, obrigado…

… no entanto

Mesmo que eu tenha criado o usuário com activate = true, e ao visualizar o usuário no console de administração ele indique que está ativado, ao tentar fazer login aparece:

Você ainda não pode fazer login. Enviamos anteriormente um e-mail de ativação para você em user@email.com. Por favor, siga as instruções contidas nesse e-mail para ativar sua conta.

Por que isso acontece? Eu estava tentando evitar isso.

Funciona para mim… você está recebendo algum erro?

Quando tento acessar o site, recebo o Erro 502. Na última vez, deixei passar algumas horas.
Mas não notei nenhum erro de onde estou executando o comando.

Desculpe, mas vou encerrar isso como “por favor, não faça isso”

Muito arriscado, e há muitos efeitos colaterais que você provavelmente esquecerá.