Você pode ver minhas outras postagens. Elas eram sobre:
- Problemas de limite de taxa
- Problemas de validação
- Bypass de validação não funcionando consistentemente para threads vs tópicos
No final, pensei que seria mais fácil ir direto ao banco de dados.
Em vez de horas de frustração tentando lidar com as complexidades da API, em poucos minutos consegui fazer algo funcionar e, espero, mais performático:
Para aqueles que desejam fazer o mesmo, anotações da minha exploração até agora:
Primeiro, entre no contêiner:
sudo ./launcher enter app
Em seguida, conecte-se ao banco de dados:
sudo -u postgres psql discourse
Para inserir um tópico:
insert into topics (title, user_id, archetype, fancy_title, category_id, created_at, updated_at, last_post_user_id, bumped_at) values ('psql test', 1, 'regular', 'psql test',8, NOW(), NOW(), 1, NOW());
Obtenha o novo id, no meu caso 886.
Em seguida, insira posts:
insert into posts (user_id, topic_id, post_number, raw, cooked, created_at, updated_at, last_version_at) values (1,886,1,'this is the raw text','this is the cooked test',NOW(),NOW(),NOW());
Em seguida, atualize posts_count (se ainda não foi feito na inserção do tópico). Observe que parece que o corpo do tópico precisa de um post inicial. Abaixo, altera o número de posts do tópico para 1:
update topics set posts_count=2 where id=886;