Skip to content

Commit 99e1041

Browse files
committed
♻️ Synced Soar πŸ“¦ <-- feat(crate): init soar-db crate (pkgforge#98) ⌚
1 parent c0fc5ff commit 99e1041

29 files changed

Lines changed: 840 additions & 6 deletions

File tree

β€Ž.github/LATEST.txtβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
26a9d92237d419946186bf084f8b45fad21cc4a1
1+
8f84b791c7dd2a429baf1e529da0315b33bdc799

β€ŽCargo.lockβ€Ž

Lines changed: 182 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€ŽCargo.tomlβ€Ž

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[workspace]
22
members = [
3+
"crates/soar-db",
34
"crates/soar-utils",
45
"soar-cli",
56
"soar-core"
@@ -23,7 +24,8 @@ codegen-units = 1
2324
panic = "abort"
2425

2526
[workspace.dependencies]
26-
soar-utils = { path = "crates/soar-utils" }
27+
diesel = { version = "2.3.2", features = ["64-column-tables", "sqlite", "returning_clauses_for_sqlite_3_35"] }
28+
diesel_migrations = { version = "2.3.0", features = ["sqlite"] }
2729
futures = "0.3.31"
2830
rayon = "1.11.0"
2931
regex = { version = "1.11.2", default-features = false, features = ["unicode-case", "unicode-perl", "std"] }
@@ -33,5 +35,6 @@ serde = { version = "1.0.225", features = ["derive"] }
3335
serde_json = { version = "1.0.145", features = ["indexmap"] }
3436
serial_test = "3.2.0"
3537
soar-dl = { version = "0.6.3" }
38+
soar-utils = { path = "crates/soar-utils" }
3639
tempfile = "3.10.1"
3740
tracing = { version = "0.1.41", default-features = false }

β€Žcrates/soar-db/Cargo.tomlβ€Ž

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[package]
2+
name = "soar-db"
3+
version = "0.1.0"
4+
description = "Database operations for soar package manager"
5+
authors.workspace = true
6+
license.workspace = true
7+
edition.workspace = true
8+
repository.workspace = true
9+
keywords.workspace = true
10+
readme.workspace = true
11+
categories.workspace = true
12+
13+
[dependencies]
14+
diesel = { workspace = true }
15+
diesel_migrations = { workspace = true }
16+
serde = { workspace = true }
17+
serde_json = { workspace = true }
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DROP TABLE packages;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
CREATE TABLE packages (
2+
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
3+
repo_name TEXT NOT NULL,
4+
pkg TEXT COLLATE NOCASE,
5+
pkg_id TEXT NOT NULL COLLATE NOCASE,
6+
pkg_name TEXT NOT NULL COLLATE NOCASE,
7+
pkg_type TEXT COLLATE NOCASE,
8+
version TEXT NOT NULL,
9+
size BIGINT NOT NULL,
10+
checksum TEXT,
11+
installed_path TEXT NOT NULL,
12+
installed_date TEXT NOT NULL,
13+
profile TEXT NOT NULL,
14+
pinned BOOLEAN NOT NULL DEFAULT false,
15+
is_installed BOOLEAN NOT NULL DEFAULT false,
16+
with_pkg_id BOOLEAN NOT NULL DEFAULT false,
17+
detached BOOLEAN NOT NULL DEFAULT false,
18+
unlinked BOOLEAN NOT NULL DEFAULT false,
19+
provides JSONB,
20+
install_patterns JSONB
21+
);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DROP TABLE portable_package;
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
CREATE TABLE portable_package (
2+
package_id INTEGER NOT NULL,
3+
portable_path TEXT,
4+
portable_home TEXT,
5+
portable_config TEXT,
6+
portable_share TEXT,
7+
portable_cache TEXT,
8+
FOREIGN KEY (package_id) REFERENCES packages (id) ON DELETE CASCADE
9+
);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DROP TABLE packages;

0 commit comments

Comments
Β (0)