01-init-postgis.sql 1.0 KB

1234567891011121314151617181920212223242526272829
  1. -- Loo lihtsalt UUID ilma extensionita
  2. CREATE TABLE articles (
  3. id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  4. title TEXT NOT NULL,
  5. abstract TEXT,
  6. content TEXT,
  7. authors TEXT[],
  8. published_date DATE,
  9. doi TEXT UNIQUE,
  10. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  11. updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  12. );
  13. CREATE TABLE article_embeddings (
  14. id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  15. article_id UUID NOT NULL REFERENCES articles(id) ON DELETE CASCADE,
  16. embedding_model TEXT,
  17. vector_data BYTEA,
  18. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  19. );
  20. -- Indeksid
  21. CREATE INDEX idx_articles_title ON articles USING GIN(to_tsvector('english', title));
  22. CREATE INDEX idx_articles_abstract ON articles USING GIN(to_tsvector('english', abstract));
  23. CREATE INDEX idx_article_embeddings_article_id ON article_embeddings(article_id);
  24. -- Õigused
  25. GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO ai_user;
  26. GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO ai_user;