Local dev bootstrap user and Playwright E2E seed use user_membership. Integrates deferred login fix for localdev@example.com.
- Local Docker bootstrap infra/k8s/base/db/source/bootstrap/0008_seed_local_user.sql:
- After
user_bio, insert premium membership with long expiry:
- After
WITH u AS (SELECT user_id AS id FROM user_credentials WHERE email = 'localdev@example.com')
INSERT INTO user_membership (user_id, membership_tier, membership_expires_at, auto_renew)
SELECT id, 'premium', NOW() + INTERVAL '100 years', false FROM u
ON CONFLICT (user_id) DO NOTHING;- Keep
user_terms_acceptanceinsert for terms gate.
- E2E seed tools/web/seed-e2e.mjs:
INSERT INTO user_membership(replaceuser_trust_settings)
After code deploy, if the volume still has user_trust_settings, re-init is the clean path:
make local_db_initOr one-off on fresh schema (user_membership table):
docker exec -i metaboost_local_postgres psql -U metaboost_app_owner -d metaboost_app <<'SQL'
WITH u AS (SELECT user_id AS id FROM user_credentials WHERE email = 'localdev@example.com')
INSERT INTO user_membership (user_id, membership_tier, membership_expires_at, auto_renew)
SELECT id, 'premium', NOW() + INTERVAL '100 years', false FROM u
ON CONFLICT (user_id) DO NOTHING;
SQLClear cookies for http://localhost:4002 and log in with localdev@example.com / Test!1Aa.
make e2e_seed
make e2e_test_web_report_spec SPEC=e2e/auth-stale-cookies-redirect-login.spec.tsOpen .artifacts/e2e-reports/latest/web/index.html.