diff options
| author | soryu <soryu@soryu.co> | 2026-01-06 04:08:11 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-11 03:01:13 +0000 |
| commit | 8b17a175c3e7e27b789812eba4e3cd760beadb10 (patch) | |
| tree | 7864dcaa2fa9db47fdfd4e8bfdb0b1dde832aa33 /makima/migrations/20250110000001_create_users_table.sql | |
| parent | f79c416c58557d2f946aa5332989afdfa8c021cd (diff) | |
| download | soryu-8b17a175c3e7e27b789812eba4e3cd760beadb10.tar.gz soryu-8b17a175c3e7e27b789812eba4e3cd760beadb10.zip | |
Initial Control system
Diffstat (limited to 'makima/migrations/20250110000001_create_users_table.sql')
| -rw-r--r-- | makima/migrations/20250110000001_create_users_table.sql | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/makima/migrations/20250110000001_create_users_table.sql b/makima/migrations/20250110000001_create_users_table.sql new file mode 100644 index 0000000..cb82807 --- /dev/null +++ b/makima/migrations/20250110000001_create_users_table.sql @@ -0,0 +1,27 @@ +-- Create users table as local mirror of Supabase auth.users +-- This allows faster queries and storing additional user metadata + +CREATE TABLE IF NOT EXISTS users ( + -- Matches Supabase auth.users(id) + id UUID PRIMARY KEY, + email VARCHAR(255) NOT NULL, + display_name VARCHAR(255), + avatar_url TEXT, + -- User's personal owner (created on signup) + default_owner_id UUID REFERENCES owners(id), + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() +); + +CREATE UNIQUE INDEX idx_users_email ON users(email); +CREATE INDEX idx_users_default_owner_id ON users(default_owner_id); + +-- Trigger to update updated_at timestamp (reuse existing function) +CREATE TRIGGER update_users_updated_at + BEFORE UPDATE ON users + FOR EACH ROW + EXECUTE FUNCTION update_updated_at_column(); + +COMMENT ON TABLE users IS 'Local mirror of Supabase auth.users with additional metadata'; +COMMENT ON COLUMN users.id IS 'Matches Supabase auth.users(id) - set by trigger on signup'; +COMMENT ON COLUMN users.default_owner_id IS 'User personal owner, created automatically on signup'; |
