AOSSIE-Org / AOSSIE-Org/NeuroTrack

BUG: Creating tables fails with incorrect schema.sql

Đang mở
#155 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Dart
Star
29
Fork
50
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### Is there an existing issue for this?

- [x] I have searched the existing issues

### What happened?

> This issue and related PR were fully identified and analyzed by myself. Claude was only used to assist with writing descriptions in English.

## 📌 Issue Overview

`schema.sql` fails to execute when copied into the Supabase SQL Editor due to multiple syntax errors, missing table definitions, and incorrect table declaration order.

Previous PR #146 also indicates syntax error, and I found more errors.

## 🔍 Steps to Reproduce

1. Go to Supabase Dashboard → SQL Editor
2. Copy and paste the entire contents of `supabase/schemas/schema.sql` guided by README
3. Click Run
4. See the error:
```
ERROR: 42601: syntax error at or near ")"
ERROR: 42P01: relation "therapist" does not exist
ERROR: 42P01: relation "therapy_type" does not exist
```

## 🎯 Expected Behavior

The full `schema.sql` should execute in a single run, creating all tables and indexes without errors.

## 🚨 Actual Behavior

Execution fails due to the following issues:

1. **Table declaration order**: `patient` is declared before `therapist`, but `patient.therapist_id` references `therapist(id)`. Similarly, `therapy_goal` references `therapy_type(id)` which is declared later.
2. **Trailing commas**: `therapist`, `session`, `observation_master`, `activity_master`, `daily_activities`, and `daily_activity_logs` have a trailing comma after the last column definition.
3. **Missing comma**: `daily_activity_logs` is missing a comma after `activity_items JSONB NOT NULL`.
4. **Missing table**: `therapy_goal.therapy_type_id` references `therapy_type(id)`, but the `therapy_type` table is not defined in the schema.
5. **Dead column**: `therapy_goal.therapy_type INT2` is not used anywhere in the codebase.

## 📷 Screenshot

N/A

## 💡 Suggested Improvements

All fixes have already been applied to `schema.sql` and verified by successfully executing the full script in the Supabase SQL Editor without errors. A PR is ready to be submitted with the following changes:

- Reordered table declarations to respect FK dependencies (`therapist` before `patient`, `therapy`/`therapy_type` before `therapy_goal`)
- Added `therapy_type` table matching the `TherapyTypeModel` in the codebase (`id`, `created_at`, `name`, `description`)
- Removed all trailing commas
- Added the missing comma in `daily_activity_logs`
- Removed the unused `therapy_goal.therapy_type INT2` column

> Have same concern with issue #153 , but this is currently occurring error, so it should be fixed whether we use Supabase as backend or not.

### Record

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.