2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/generators/bx_builder_chain/templates/migration.rb', line 2
def change
enable_extension 'vector' unless extension_enabled?('vector')
create_table :bx_builder_chain_embeddings do |t|
t.text :content
t.column :vectors, "vector(1536)"
t.text :namespace, default: 'public'
t.index :namespace
end
create_table :bx_builder_chain_documents do |t|
t.text :name
t.text :namespace, default: 'public'
t.index [:name, :namespace], unique: true
t.index :namespace
t.timestamps
end
create_table :bx_builder_chain_document_chunks do |t|
t.references :document, null: false, foreign_key: { to_table: :bx_builder_chain_documents, on_delete: :cascade }
t.references :embedding, null: false, foreign_key: { to_table: :bx_builder_chain_embeddings, on_delete: :cascade }
end
add_index :bx_builder_chain_document_chunks, [:document_id, :embedding_id], unique: true, name: 'index_document_embedding_unique'
end
|