Innehållsplan i databasen med pg_cron

Lägg upp en tabell för schemalagda inlägg och en cron-job som plockar mogna rader.

15 minBygg din AI-assistent
Illustration för lektionen Innehållsplan i databasen med pg_cron

Vad du bygger

En social_posts-liknande tabell + en pg_cron-job som var femte minut anropar en publiceringsroute och skickar iväg de inlägg som är mogna.

Innan du börjar

  • Lovable Cloud aktivt
  • Grundförståelse för Supabase-tabeller och RLS

Steg för steg

  1. Skapa tabell social_posts med kolumner: scheduled_for, status, caption, media_url, channel
  2. Sätt RLS så bara admin kan skriva, service_role kan läsa allt
  3. Skapa route /api/public/hooks/publish-scheduled som hämtar alla rader där status='scheduled' och scheduled_for <= now()
  4. Aktivera pg_cron + pg_net i migrationen
  5. Schemalägg jobbet var 5:e minut med net.http_post mot din route + apikey-header

Tips

  • Använd status som enda sanning — inget dubbelpubliceras om raden går över till posted
  • Sätt unique constraint på (channel, external_id) för idempotens

Vanliga fel

  • Att köra cron-jobb varje minut — Instagram/LinkedIn rate-limitar hårt
  • Att missa att sätta apikey-header, då 401:ar routen

Steg för steg i bild

Skapa tabell socialposts med kolumner
1. Skapa tabell socialposts med kolumner
Sätt RLS så bara admin kan
2. Sätt RLS så bara admin kan
Skapa route /api/public/hooks/publish-scheduled som hämtar a
3. Skapa route /api/public/hooks/publish-scheduled som hämtar a