These are notes I've collected over the last week:
- This was my first week using Supabase so I'm a complete beginner with it.
- Supabase has dedicated places for making functions and triggers but the fields for taking the SQL or pgSQL queries are not very helpful when you get errors so I recommend using the SQL editor instead. I ran into this when trying to create a function + trigger workflow.
- RLS (row level security) is really weird at first but spend some time reading the Supabase docs and you'll get the hang of it. It'll feel like it's a pseudo-SQL language being used but their AI helps you generate a ton of useful policies.
Next.js + Vercel notes
- The equivalent for the
_app.tsxentrypoint in App Router in Next.js 13 is the
- Always use
NEXT_PUBLIC_prefixes for any env variables that will be exposed to your frontend.
- Stay away from React Server Components (RSC) unless you really really (and I mean really) need the speed boost and are willing to give up a lot of good React features like hooks.
Here's a really good article I found on RSC that enlightened me while I was working with them:
- I found a tool called Tremor which is useful for quickly building UIs using Tailwind + React.
- Start with extra or more spacing than you think you'll need and go down instead of going up, at some point, it'll just feel right.
Drizzle ORM changes need to be pushed before anything is usable
Drizzle can talk to your database and try to access anything as long as things are configured but whenever I use an ORM, I intend to make schema changes along with using it as an ORM so I was a bit confused that Drizzle does not include the step to push your changes or migrations to a database in their docs. As of writing this, I didn't see this so if you're following the docs and aren't able to get your changes to show up in your DB. Make sure to run
npx drizzle-kit push:pg or whatever your database is.