this post was submitted on 03 Jun 2023
4 points (100.0% liked)

Lemmy Support

157 readers
3 users here now

Support / questions about Lemmy.

Matrix Space: #lemmy-space

founded 5 years ago
MODERATORS
 

I’ve hit an issue with Lemmy. Initial startup was fine… I created my admin user and logged in. Then I created this account.

Third account I went to test with failed to login… then my other accounts also failed, so I rebooted.

Now when I try to log into my admin account, it just spins forever. Checking logs, I see this:

lemmy_server::api_routes_websocket: email_not_verified: email_not_verified

Can anyone tell me how I can manually flag my admin account as having been email verified already?

you are viewing a single comment's thread
view the rest of the comments
[–] Lodion@lemmy.click 2 points 1 year ago (1 children)

Thats what I figured... I just have no idea how to do it. Can you point me to any info on how to do that? :)

[–] Lodion@lemmy.click 3 points 1 year ago* (last edited 1 year ago) (2 children)

Ok, figured it out myself. For anyone else that needs it..

Run a shell within the postgres docker container:

docker exec -it _postgres_1 sh

Connect to the postgres service:

psql -U lemmy -h 127.0.0.1 -p 5432 -d lemmy

Connect to the lemmy database:

\c lemmy

Then the user table: \d local_user

Find the user ID of the account you want to manually toggle, probably #1:

SELECT * from local_user;

Then update the email_verified and _accepted_application flag on the first account:

UPDATE local_user SET email_verified = 't', accepted_application = 't' WHERE id = 1;

lemmy=# UPDATE local_user SET email_verified = 't', accepted_application = 't' WHERE id = 3; UPDATE 1 lemmy=# UPDATE local_user SET email_verified = 't', email_verified= 't' WHERE id = 3; UPDATE 1 lemmy=#

[–] adminac@philly.page 1 points 1 year ago

excellent info, this is way more straightforward than what I did.

[–] chrisamoody@thediscussion.site 1 points 1 year ago (2 children)

Thanks for this breakdown, I seem to be having issues with the update statements: lemmy=# UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 1; ERROR: column "‘t’" does not exist LINE 1: UPDATE local_user SET email_verified = ‘t’, accepted_applica... ^ HINT: Perhaps you meant to reference the column "local_user.id". lemmy=# UPDATE local_user SET email_verified =‘t’, accepted_application = ‘t’ WHERE id = 1; ERROR: column "‘t’" does not exist LINE 1: UPDATE local_user SET email_verified =‘t’, accepted_applicat... ^ HINT: Perhaps you meant to reference the column "local_user.id". lemmy=# UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 3; UPDATE 1 ERROR: column "‘t’" does not exist LINE 1: UPDATE local_user SET email_verified = ‘t’, accepted_applica... ^ HINT: Perhaps you meant to reference the column "local_user.id". lemmy-#

[–] prothy@lemmy.ml 2 points 1 year ago* (last edited 1 year ago) (2 children)

It seems that the query that Lodion shared has the wrong single quote character, rather than '. Try using it with the latter, I had the same issue as you and this was what fixed it.

yes, I should have realized that. That worked! Thank you @prothy@lemmy.ml

[–] PunkiBas@lemmy.ml 1 points 1 year ago

Now it worked, thanks!

[–] Lodion@lemmy.click 1 points 1 year ago (1 children)

Sorry Chris, I was figuring that out as I went. It looks like a postgres syntax error but the command matches what I used.

If you run "SELECT * from local_user;" do you get output showing your list of registered users? Perhaps you're not attached to the lemmy database?

[–] chrisamoody@thediscussion.site 1 points 1 year ago (1 children)

Yes, the Select did work, it was just the updates that didn't work.

[–] Lodion@lemmy.click 1 points 1 year ago (1 children)

Not sure what to suggest, sorry I'm not a DBA :(

To make it clear, here is the command I ran enclosed with "

"UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 1;"

[–] chrisamoody@thediscussion.site 1 points 1 year ago (1 children)

"lemmy=# UPDATE local_user SET email_verified = ‘t’, accepted_application = ‘t’ WHERE id = 1; ERROR: column "‘t’" does not exist LINE 1: UPDATE local_user SET email_verified = ‘t’, accepted_applica... ^ HINT: Perhaps you meant to reference the column "local_user.id"." This was its response.

[–] Lodion@lemmy.click 1 points 1 year ago* (last edited 1 year ago) (1 children)

I've just taken a look at your instance... you're running a slightly older version. I'm guessing the DB schema has changed.

Does "SELECT * from local_user.id;" get you a list of users? You may need to update the other references to match whatever the old DB schema is.

[–] chrisamoody@thediscussion.site 1 points 1 year ago (1 children)

no it doesn't work. "ERROR: relation "local_user.id" does not exist LINE 1: SELECT * from local_user.id;"

[–] chrisamoody@thediscussion.site 1 points 1 year ago (1 children)

My instance is only 4 days old, how do I update it?

updated my instance, no change however as far as the database is concerned.