AOSSIE-Org / AOSSIE-Org/InPactAI

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

オープン
#191 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
102
フォーク
144
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。