Sign In

We're the bridge between marketing ambition and financial wisdom. Born from the frustration of seeing e-commerce companies chase growth at any cost, we built a platform that turns complex customer data into simple profit signals.

Ready to turn your marketing budget into pure rocket fuel? 🚀

Drop us a line at hello@headw.ai and let's explore how we can boost your ROI. (We promise the demo will be worth your time!)

© Copyright 2026 Headwai. All Rights Reserved.

    Legal
    • Privacy Policy

    Migrations

    Learn how to create and manage database migrations in your application.

    Note: This is mock/placeholder content for demonstration purposes.

    Database migrations allow you to version control your database schema changes and apply them consistently across environments.

    Creating a Migration

    To create a new migration, use the following command:

    pnpm --filter web supabase:db:diff
    

    This will generate a new migration file in the apps/web/supabase/migrations directory based on the differences between your local database and the schema files.

    Applying Migrations

    To apply migrations to your local database:

    pnpm --filter web supabase migrations up
    

    Migration Best Practices

    1. Always test migrations locally first before applying to production
    2. Make migrations reversible when possible by including DOWN statements
    3. Use transactions to ensure atomic operations
    4. Add indexes for foreign keys and frequently queried columns
    5. Include RLS policies in the same migration as table creation

    Example Migration

    -- Create a new table
    CREATE TABLE tasks (
      id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
      account_id UUID NOT NULL REFERENCES accounts(id) ON DELETE CASCADE,
      title TEXT NOT NULL,
      completed BOOLEAN DEFAULT false,
      created_at TIMESTAMPTZ DEFAULT now()
    );
    
    -- Add RLS
    ALTER TABLE tasks ENABLE ROW LEVEL SECURITY;
    
    -- Create policies
    CREATE POLICY "Users can view their account tasks"
      ON tasks FOR SELECT
      USING (account_id IN (SELECT get_user_accounts(auth.uid())));
    

    Resetting the Database

    To completely reset your local database with the latest schema:

    pnpm supabase:web:reset
    

    This will drop all tables and reapply all migrations from scratch.