Created
September 22, 2023 00:19
-
-
Save khattaksd/4e8f4c89f4e928a2ecaad56d4a17ecd1 to your computer and use it in GitHub Desktop.
Supabase Seed Users for local development & testing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- supabase/seed.sql | |
-- | |
-- create test users | |
INSERT INTO | |
auth.users ( | |
instance_id, | |
id, | |
aud, | |
role, | |
email, | |
encrypted_password, | |
email_confirmed_at, | |
recovery_sent_at, | |
last_sign_in_at, | |
raw_app_meta_data, | |
raw_user_meta_data, | |
created_at, | |
updated_at, | |
confirmation_token, | |
email_change, | |
email_change_token_new, | |
recovery_token | |
) ( | |
select | |
'00000000-0000-0000-0000-000000000000', | |
uuid_generate_v4 (), | |
'authenticated', | |
'authenticated', | |
'user' || (ROW_NUMBER() OVER ()) || '@example.com', | |
crypt ('password123', gen_salt ('bf')), | |
current_timestamp, | |
current_timestamp, | |
current_timestamp, | |
'{"provider":"email","providers":["email"]}', | |
'{}', | |
current_timestamp, | |
current_timestamp, | |
'', | |
'', | |
'', | |
'' | |
FROM | |
generate_series(1, 10) | |
); | |
-- test user email identities | |
INSERT INTO | |
auth.identities ( | |
id, | |
user_id, | |
identity_data, | |
provider, | |
last_sign_in_at, | |
created_at, | |
updated_at | |
) ( | |
select | |
uuid_generate_v4 (), | |
id, | |
format('{"sub":"%s","email":"%s"}', id::text, email)::jsonb, | |
'email', | |
current_timestamp, | |
current_timestamp, | |
current_timestamp | |
from | |
auth.users | |
); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for the great seed template!
I got this error while seeding the data:
failed to send batch: ERROR: null value in column "provider_id" of relation "identities" violates not-null constraint (SQLSTATE 23502)
After some digging, seems like newer version of Supabase added a required
provider_id
field inauth.identities
. To fix this, simply insertprovider_id
with valueid
like so:before:
After: