@@ -15,7 +15,7 @@ module Git
1515 module Pkgs
1616 class Database
1717 DB_FILE = "pkgs.sqlite3"
18- SCHEMA_VERSION = 1
18+ SCHEMA_VERSION = 2
1919
2020 class << self
2121 attr_accessor :db
@@ -82,7 +82,9 @@ def self.refresh_models
8282 Git ::Pkgs ::Models ::Commit ,
8383 Git ::Pkgs ::Models ::Manifest ,
8484 Git ::Pkgs ::Models ::DependencyChange ,
85- Git ::Pkgs ::Models ::DependencySnapshot
85+ Git ::Pkgs ::Models ::DependencySnapshot ,
86+ Git ::Pkgs ::Models ::Package ,
87+ Git ::Pkgs ::Models ::Version
8688 ] . each do |model |
8789 model . dataset = @db [ model . table_name ]
8890 # Clear all cached association data that may reference old db
@@ -177,6 +179,36 @@ def self.create_schema(with_indexes: true)
177179 DateTime :updated_at
178180 end
179181
182+ @db . create_table? ( :packages ) do
183+ primary_key :id
184+ String :purl , null : false
185+ String :latest_version
186+ String :license
187+ String :description , text : true
188+ String :homepage
189+ String :repository_url
190+ String :source
191+ DateTime :enriched_at
192+ DateTime :created_at
193+ DateTime :updated_at
194+ index :purl , unique : true
195+ end
196+
197+ @db . create_table? ( :versions ) do
198+ primary_key :id
199+ String :purl , null : false
200+ String :package_purl , null : false
201+ String :license
202+ DateTime :published_at
203+ String :integrity , text : true
204+ String :source
205+ DateTime :enriched_at
206+ DateTime :created_at
207+ DateTime :updated_at
208+ index :purl , unique : true
209+ index :package_purl
210+ end
211+
180212 set_version
181213 create_bulk_indexes if with_indexes
182214 refresh_models
0 commit comments