AOSSIE-Org / AOSSIE-Org/InPactAI

BUG: Fix SQL schema issues (USER-DEFINED, FK order, duplicate blocks, triggers) + missing SUPABASE_JWT_SECRET in .env.example

Abierto
#191 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
102
Forks
144
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Is there an existing issue for this?

- [x] I have searched the existing issues

### What happened?

## 📌 Issue Overview
While setting up the project locally, several schema-related issues cause SQL migrations to fail and the local environment to become unusable without manual fixes. In addition, one required environment variable (SUPABASE_JWT_SECRET) is missing from .env.example.

This makes the project difficult to set up for contributors.

## 🔍 Steps to Reproduce
1. Clone the repository
2. Run the provided SQL schema in Supabase or a local PostgreSQL instance
3. Attempt to run the app using .env.example
4. Observe multiple SQL errors and a runtime permission error

## 🎯 Expected Behavior
- Schema should apply cleanly without manual corrections
- No duplicate table or trigger definitions
- Foreign key references should resolve in proper order
- Enum types should be valid PostgreSQL types
- `.env.example` should include all required variables
- Local environment should work without “permission denied” errors

## 🚨 Actual Behavior
1. Invalid Enum Type Usage**

Several tables use this invalid syntax:

```sql
status USER-DEFINED DEFAULT 'value'::some_enum
```

This causes:

```
ERROR: syntax error at or near "USER"
```

### **2. Duplicate Table / Trigger Definitions**

- `proposals` table is defined twice

- `update_proposals_updated_at` function + trigger are defined twice
Causes:

```
ERROR: trigger "update_proposals_updated_at" already exists
```

### **3. Incorrect Table Creation Order**

Some tables reference others before they exist. Example:

```
FOREIGN KEY (user_id) REFERENCES public.profiles(id)
```

but `public.profiles` is created later.
Causes:

```
ERROR: relation "public.profiles" does not exist
```

### **4. Permission Errors After Schema Load**

After migrations succeed, creating a profile fails with:

```
permission denied for schema public
```

GRANT statements appear to be missing for `anon`, `authenticated`, and `service_role`.

### **5. Missing Required Env Variable**

`.env.example` is missing:

```
SUPABASE_JWT_SECRET=
```

This prevents the local app from running correctly.

## 📷 Screenshot
(Not included here, but can be added if maintainers want visual logs.)

## 💡 Suggested Improvements
1. Replace all `USER-DEFINED` placeholders with the actual enum types (`application_status`, `invite_status`, `payment_status`, `deal_status`).

2. Remove duplicate `proposals` table + duplicate trigger/function definitions.

3. Reorder tables so referenced tables exist before foreign keys are applied.

4. Add missing permissions back to the schema setup:

```sql
GRANT USAGE ON SCHEMA public TO anon, authenticated, service_role;
GRANT ALL ON ALL TABLES IN SCHEMA public TO service_role;
```

5. Add missing variable to `.env.example`:

```env
SUPABASE_JWT_SECRET=
```

I’m willing to submit a PR addressing these issues.

### Record

- [x] I agree to follow this project's Code of Conduct
- [x] I want to work on this issue

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.