# sudo ./launcher enter app
# rails c
> user = User.find_by_email("<admin_email>")
> user.admin = true
> user.save`
Obtenho o seguinte erro:
ActiveModel::MissingAttributeError: não é possível escrever atributo desconhecido ``
from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activemodel-6.0.2.2/lib/active_model/attribute.rb:206:in with_value_from_database' Causado por ActiveRecord::StatementInvalid: PG::SyntaxError: ERRO: identificador delimitado de comprimento zero em ou próximo a """" LINE 1: ... = '2020-04-23 16:30:36.173916' WHERE "site_settings"."" = 3 ^ from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.1/lib/patches/db/pg.rb:69:in exec_params’
Causado por PG::SyntaxError: ERRO: identificador delimitado de comprimento zero em ou próximo a “”“”
LINE 1: … = ‘2020-04-23 16:30:36.173916’ WHERE “site_settings”.“” = 3
^
from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.1/lib/patches/db/pg.rb:69:in `exec_params’
Alguma ideia de como finalizar a instalação? Pode parecer que uma tabela está corrompida.
Você pode voltar um pouco e nos explicar com mais precisão o que está tentando fazer? Isso é antes ou depois de restaurar um backup? Ou é uma instalação nova?
Sim. O Discourse funciona corretamente sem importar a migração. Sem erros. Após restaurar o banco de dados de backup, as configurações não podem ser modificadas porque recebemos um erro, e ao tentar ativar o e-mail do desenvolvedor, nenhum e-mail é enviado. Por isso, eu estava tentando ativar a conta manualmente, mas então encontrei esse erro.
Você executou ./launcher rebuild app após a restauração do backup? Ou entrou no container e executou rake db:migrate? Isso pode ajudar, mas não posso ter certeza até tentarmos
Eu já executei o aplicativo de reconstrução do launcher, mas o problema persiste. Devo executar o rake no servidor ou dentro do aplicativo (launcher enter app)?
Você ainda tem a instância anterior em execução? Se sim, sua melhor opção a partir de agora é destruir a nova e reconstruí-la com um backup fresco da instância antiga.
Sim, o servidor anterior ainda está em execução. Após investigar o problema mais a fundo, isso ocorre até mesmo no servidor antigo. O mesmo erro aparece.
Devo tentar limpar a tabela site_settings e reconfigurá-las manualmente? O Discourse continuará funcionando após eu excluir manualmente todos os registros dessa tabela no PostgreSQL?