From a971d8c2dc519b1db805c72cf3395c188a98dff4 Mon Sep 17 00:00:00 2001
From: cel 🌸 <cel@blos.sm>
Date: Wed, 13 Dec 2023 06:50:44 +0000
Subject: switch to uuids

---
 migrations/20231003193749_pinussy.sql | 43 ++++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 21 deletions(-)

(limited to 'migrations/20231003193749_pinussy.sql')

diff --git a/migrations/20231003193749_pinussy.sql b/migrations/20231003193749_pinussy.sql
index cba545e..4ac7474 100644
--- a/migrations/20231003193749_pinussy.sql
+++ b/migrations/20231003193749_pinussy.sql
@@ -1,8 +1,9 @@
 create type privacy as enum ('private', 'unlisted', 'public');
 create type file_type as enum ('image', 'video', 'audio', 'text', 'document', 'site', 'other');
+create extension if not exists "uuid-ossp";
 
 create table users (
-    id integer primary key generated always as identity,
+    id uuid primary key default gen_random_uuid(),
     username varchar(32) not null,
     unique(username),
     password varchar(128) not null,
@@ -13,15 +14,15 @@ create table users (
     admin boolean not null default true
 );
 
-create table sessions (
-    id varchar(128) primary key,
-    expires timestamp with time zone,
-    user_id integer not null,
-    foreign key (user_id) references users(id)
-);
+-- create table sessions (
+--     id varchar(128) primary key,
+--     expires timestamp with time zone,
+--     user_id integer not null,
+--     foreign key (user_id) references users(id)
+-- );
 
 create table boards (
-    id integer primary key generated always as identity,
+    id uuid primary key default gen_random_uuid(),
     idname varchar(256),
     name varchar(256),
     description text,
@@ -29,15 +30,15 @@ create table boards (
 );
 
 create table board_ownership (
-    board_id integer not null,
-    user_id integer not null,
+    board_id uuid not null,
+    user_id uuid not null,
     foreign key (board_id) references boards(id),
     foreign key (user_id) references users(id),
     primary key (board_id, user_id)
 );
 
 create table pins (
-    id integer primary key generated always as identity,
+    id uuid primary key default gen_random_uuid(),
     idname varchar(256),
     subject varchar(256),
     notes text,
@@ -45,23 +46,23 @@ create table pins (
 );
 
 create table pin_ownership (
-    pin_id integer not null,
-    user_id integer not null,
+    pin_id uuid not null,
+    user_id uuid not null,
     foreign key (pin_id) references pins(id),
     foreign key (user_id) references users(id),
     primary key (pin_id, user_id)
 );
 
 create table pins_boards (
-    pin_id integer not null,
-    board_id integer not null,
+    pin_id uuid not null,
+    board_id uuid not null,
     foreign key (pin_id) references pins(id),
     foreign key (board_id) references boards(id),
     primary key (pin_id, board_id)
 );
 
 create table sources (
-    id integer primary key generated always as identity,
+    id uuid primary key default gen_random_uuid(),
     idname varchar(256),
     title varchar(256),
     author varchar(256),
@@ -72,22 +73,22 @@ create table sources (
 );
 
 create table pin_sources (
-    source_id integer not null,
-    pin_id integer not null,
+    source_id uuid not null,
+    pin_id uuid not null,
     foreign key (source_id) references sources(id),
     foreign key (pin_id) references pins(id),
     primary key (source_id, pin_id)
 );
 
 create table files (
-    id integer primary key generated always as identity,
+    id uuid primary key default gen_random_uuid(),
     idname varchar(256),
     thumbnail varchar(256),
     path varchar(256) not null,
     title varchar(256),
     type file_type,
     alt_text text,
-    pin_id integer not null,
+    pin_id uuid not null,
     foreign key (pin_id) references pins(id)
 );
 
@@ -97,7 +98,7 @@ create table tags (
 
 create table tags_pins (
     tag varchar(128) not null,
-    pin_id integer not null,
+    pin_id uuid not null,
     foreign key (tag) references tags(tag),
     foreign key (pin_id) references pins(id),
     primary key (tag, pin_id)
-- 
cgit 

