Ctrl K
ComunidadGuías…

scripts/add_replicate.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { createClient } from 'https://esm.sh/@supabase/supabase-js'
import type { Database } from '../supabase/functions/_backend/utils/supabase.types.ts'

const supabaseUrl = 'https://sb.capgo.app'
const supabaseServiceRole = '****'
const ids = []

async function fetchAllIds(supabase: ReturnType<typeof createClient<Database>>) {
  let allIds: number[] = []
  let lastId = 0
  const pageSize = 1000

  while (true) {
    const { data, error } = await supabase
      .from('app_versions')
      .select('*')
      .order('id', { ascending: true })
      .gt('id', lastId)
      .limit(pageSize)

    if (error) {
      console.error('Error fetching data:', error)
      return []
    }

    if (data.length === 0) {
      break
    }

    allIds = allIds.concat(data.map(item => item.id))
    lastId = data[data.length - 1].id

    if (data.length < pageSize) {
      break
    }
  }

  return allIds
}

function generateInsertQuery(idsToInsert: number[]): string {
  const values = idsToInsert.map(id => `(${id})`).join(', ')
  return `INSERT INTO devices_override (id) VALUES ${values};`
}

async function main() {
  const supabase = createClient<Database>(supabaseUrl, supabaseServiceRole, {
    auth: {
      autoRefreshToken: false,
      persistSession: false,
      detectSessionInUrl: false,
    },
  })

  const idsInSupabase = await fetchAllIds(supabase)
  const idsSet = new Set(ids.map(item => item.id))

  const idsInSupabaseNotInIds = idsInSupabase.filter(obj => !idsSet.has(obj.id))

  console.log('IDs in Supabase but not in ids array:', idsInSupabaseNotInIds)
  console.log('Total IDs in Supabase:', idsInSupabase.length)
  console.log('Total IDs in ids array:', ids.length)
  console.log('Total IDs in Supabase but not in ids array:', idsInSupabaseNotInIds.length)
  const insertQuery = generateInsertQuery(idsInSupabaseNotInIds)
  console.log('SQL Insert Query:', insertQuery)
}

await main()