AOSSIE-Org / AOSSIE-Org/InPactAI

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

Aberta
#191 1 comentário 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
TypeScript
Estrelas
102
Forks
144
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

### 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

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.