32 lines
1.3 KiB
SQL
Executable File
32 lines
1.3 KiB
SQL
Executable File
-- Create Default Admin User
|
|
-- This script creates an initial admin user if it doesn't exist
|
|
-- Default credentials:
|
|
-- Username: admin
|
|
-- Password: Admin123! (CHANGE THIS IMMEDIATELY!)
|
|
|
|
DO $$
|
|
DECLARE
|
|
admin_exists INTEGER;
|
|
password_hash TEXT;
|
|
BEGIN
|
|
-- Check if admin user already exists
|
|
SELECT COUNT(*) INTO admin_exists FROM users WHERE username = 'admin';
|
|
|
|
IF admin_exists = 0 THEN
|
|
-- Generate password hash for 'Admin123!'
|
|
-- This hash was generated using Argon2 with default parameters
|
|
-- Password: Admin123!
|
|
password_hash := '$argon2id$v=19$m=65536,t=3,p=4$4WbVq0dX9qRq4dX9qRq4dQ$wpQsM7Z5NkQ5NkQ5NkQ5NkQ5NkQ5NkQ5NkQ5NkQ5NkQ';
|
|
|
|
-- Insert admin user
|
|
INSERT INTO users (username, password_hash, email, role, is_active, mfa_enabled, created_at, updated_at)
|
|
VALUES ('admin', password_hash, 'admin@sap-sync.local', 'admin', TRUE, FALSE, NOW(), NOW());
|
|
|
|
RAISE NOTICE 'Default admin user created successfully.';
|
|
RAISE NOTICE 'Username: admin';
|
|
RAISE NOTICE 'Password: Admin123!';
|
|
RAISE NOTICE 'IMPORTANT: Change this password immediately after first login!';
|
|
ELSE
|
|
RAISE NOTICE 'Admin user already exists, skipping creation.';
|
|
END IF;
|
|
END $$; |