Ok ótimo, fico feliz em saber que está funcionando! Temos uma situação um tanto quanto paradoxal que precisamos resolver. Seguindo o commit que você linkou, assets:precompile precisa ser executado pelo menos uma vez antes de executar db:migrate. Mas o inverso também é verdadeiro - assets:precompile precisa de um esquema de banco de dados atualizado.
Por curiosidade, qual foi o seu processo aqui? Você estava fazendo um upgrade baseado em docker_manager através da interface do usuário? Ou foi um ./launcher rebuild app? (ou algo totalmente diferente?)
(Acho que preciso remover git checkout main - não tenho certeza por que isso estava lá)
Aha. Mas o Ansible está descartando o banco de dados primeiro (este é para um site que uso para migrações, então começar de novo é uma ocorrência frequente). Então isso é consistente com seus ovos. Suspiro. Mas então desliguei o drop_database e o executei duas vezes do ansible, e falhou, e então fiz o bootstrap novamente da linha de comando, e ainda falhou. Não há pistas nas migrações:
Installing mysql2 0.5.5 with native extensions
Bundle complete! 137 Gemfile dependencies, 173 gems now installed.
Gems in the groups 'test' and 'development' were not installed.
Bundled gems are installed into './vendor/bundle'
I, [2023-08-24T17:24:31.403199 #1] INFO -- : Replacing types { with set_real_ip_from 192.168.1.0/24;
set_real_ip_from 172.19.0.0/24;
set_real_ip_from 172.18.0.0/24;
set_real_ip_from 172.17.0.0/24;
set_real_ip_from 38.242.7.193/28;
real_ip_recursive on;
real_ip_header X-Forwarded-For;
types {
in /etc/nginx/conf.d/discourse.conf
I, [2023-08-24T17:24:31.403687 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2023-08-24T17:24:33.084210 #1] INFO -- : discourse-microsoft-auth is already at latest compatible version
I, [2023-08-24T17:24:33.084593 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Errno::ENOENT: No such file or directory @ rb_sysopen - tmp/js-processor.js
/var/www/discourse/lib/discourse_js_processor.rb:140:in `read'
/var/www/discourse/lib/discourse_js_processor.rb:140:in `create_new_context'
/var/www/discourse/lib/discourse_js_processor.rb:156:in `block in v8'
/var/www/discourse/lib/discourse_js_processor.rb:154:in `synchronize'
/var/www/discourse/lib/discourse_js_processor.rb:154:in `v8'
/var/www/discourse/lib/discourse_js_processor.rb:169:in `block in v8_call'
/var/www/discourse/lib/discourse_js_processor.rb:168:in `synchronize'
/var/www/discourse/lib/discourse_js_processor.rb:168:in `v8_call'
/var/www/discourse/lib/discourse_js_processor.rb:193:in `perform'
/var/www/discourse/lib/pretty_text.rb:54:in `apply_es6_file'
Mas também 'templates/enable-ruby-yjit.yml' poderia ser o problema? EDIT: Não foi isso. E então removi os templates de mysql e importação. Ainda sem sucesso.
Este problema existe há algum tempo? Atualizei outro site recentemente que está no ECS e parecia que havia algo estranho acontecendo com a migração e então os ativos estavam quebrados. É um banco de dados enorme, então pensei que talvez eu estivesse impaciente, e também fiz parte desse processo manualmente, então pensei que tinha sido descuidado.
@cvx acabou de mesclar isso, o que deve resolver o problema de interdependência (assim que passar nos testes):
Isso faria sentido .
Achamos que o erro está sendo acionado se alguma migração de banco de dados incluir uma chamada para o motor de markdown (PrettyText). Na grande maioria dos sites existentes, isso é raro. Mas em um site totalmente novo, semeamos novos tópicos no banco de dados, o que envolve o processamento de algum markdown.
Bem, estou vendo esse commit quando faço git pull no meu ambiente de desenvolvimento, mas ele ainda está falhando, tanto pelo ansible quanto quando executado localmente (e eu não estou descartando o banco de dados).
É produção. Possui traefiks como proxy reverso, mas é basicamente uma instalação padrão, exceto por isso (e um banco de dados construído a partir da imagem padrão postgres13, mas ele tem pgvector).
Mencionei meu ambiente de desenvolvimento porque fiz um git pull lá tentando ver se o commit havia passado nos testes; eu vejo FIX: Compile js-processor before db:migrate (#23229) no git log lá).
Voltarei a testar o que estava testando antes e tentarei novamente em breve.
Acho que seu ambiente de desenvolvimento está rodando em main, é por isso que o commit aparece. Tivemos um problema em nosso CI interno para testes aprovados, mas esperamos que isso seja resolvido nos próximos 30 minutos