first commit
This commit is contained in:
parent
6a2f396c48
commit
b77bd2580c
196
Cargo.lock
generated
Normal file
196
Cargo.lock
generated
Normal file
@ -0,0 +1,196 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.8.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
"version_check",
|
||||
"zerocopy",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "allocator-api2"
|
||||
version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "fallible-iterator"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
|
||||
|
||||
[[package]]
|
||||
name = "fallible-streaming-iterator"
|
||||
version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.14.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"allocator-api2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hashlink"
|
||||
version = "0.8.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
|
||||
dependencies = [
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icarus"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"rusqlite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.150"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
|
||||
|
||||
[[package]]
|
||||
name = "libsqlite3-sys"
|
||||
version = "0.27.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.33"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rusqlite"
|
||||
version = "0.30.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"fallible-iterator",
|
||||
"fallible-streaming-iterator",
|
||||
"hashlink",
|
||||
"libsqlite3-sys",
|
||||
"smallvec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.39"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||
|
||||
[[package]]
|
||||
name = "vcpkg"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy"
|
||||
version = "0.7.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
|
||||
dependencies = [
|
||||
"zerocopy-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy-derive"
|
||||
version = "0.7.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
10
Cargo.toml
Normal file
10
Cargo.toml
Normal file
@ -0,0 +1,10 @@
|
||||
[package]
|
||||
name = "icarus"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
rusqlite = { version = "0.30.0", features = ["bundled"] }
|
||||
diesel = { version = "2.1.0", features = ["sqlite"] }
|
2
diesel.toml
Normal file
2
diesel.toml
Normal file
@ -0,0 +1,2 @@
|
||||
[print_schema]
|
||||
filter = { only_tables = ["library", "track_locations"] }
|
3
src/main.rs
Normal file
3
src/main.rs
Normal file
@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
128
src/schema.rs
Normal file
128
src/schema.rs
Normal file
@ -0,0 +1,128 @@
|
||||
// @generated automatically by Diesel CLI.
|
||||
|
||||
diesel::table! {
|
||||
itunes_library (id) {
|
||||
id -> Nullable<Integer>,
|
||||
artist -> Nullable<Text>,
|
||||
title -> Nullable<Text>,
|
||||
album -> Nullable<Text>,
|
||||
year -> Nullable<Text>,
|
||||
genre -> Nullable<Text>,
|
||||
tracknumber -> Nullable<Text>,
|
||||
location -> Nullable<Text>,
|
||||
comment -> Nullable<Text>,
|
||||
duration -> Nullable<Integer>,
|
||||
bitrate -> Nullable<Integer>,
|
||||
bpm -> Nullable<Integer>,
|
||||
rating -> Nullable<Integer>,
|
||||
grouping -> Nullable<Text>,
|
||||
album_artist -> Nullable<Text>,
|
||||
}
|
||||
}
|
||||
|
||||
diesel::table! {
|
||||
library (id) {
|
||||
id -> Nullable<Integer>,
|
||||
artist -> Nullable<Text>,
|
||||
title -> Nullable<Text>,
|
||||
album -> Nullable<Text>,
|
||||
year -> Nullable<Text>,
|
||||
genre -> Nullable<Text>,
|
||||
tracknumber -> Nullable<Text>,
|
||||
location -> Nullable<Integer>,
|
||||
comment -> Nullable<Text>,
|
||||
url -> Nullable<Text>,
|
||||
duration -> Nullable<Float>,
|
||||
bitrate -> Nullable<Integer>,
|
||||
samplerate -> Nullable<Integer>,
|
||||
cuepoint -> Nullable<Integer>,
|
||||
bpm -> Nullable<Float>,
|
||||
wavesummaryhex -> Nullable<Binary>,
|
||||
channels -> Nullable<Integer>,
|
||||
datetime_added -> Nullable<Binary>,
|
||||
mixxx_deleted -> Nullable<Integer>,
|
||||
played -> Nullable<Integer>,
|
||||
header_parsed -> Nullable<Integer>,
|
||||
filetype -> Nullable<Text>,
|
||||
replaygain -> Nullable<Float>,
|
||||
timesplayed -> Nullable<Integer>,
|
||||
rating -> Nullable<Integer>,
|
||||
key -> Nullable<Text>,
|
||||
beats -> Nullable<Binary>,
|
||||
beats_version -> Nullable<Text>,
|
||||
composer -> Nullable<Text>,
|
||||
bpm_lock -> Nullable<Integer>,
|
||||
beats_sub_version -> Nullable<Text>,
|
||||
keys -> Nullable<Binary>,
|
||||
keys_version -> Nullable<Text>,
|
||||
keys_sub_version -> Nullable<Text>,
|
||||
key_id -> Nullable<Integer>,
|
||||
grouping -> Nullable<Text>,
|
||||
album_artist -> Nullable<Text>,
|
||||
coverart_source -> Nullable<Integer>,
|
||||
coverart_type -> Nullable<Integer>,
|
||||
coverart_location -> Nullable<Text>,
|
||||
coverart_hash -> Nullable<Integer>,
|
||||
replaygain_peak -> Nullable<Float>,
|
||||
tracktotal -> Nullable<Text>,
|
||||
color -> Nullable<Integer>,
|
||||
}
|
||||
}
|
||||
|
||||
diesel::table! {
|
||||
rhythmbox_library (id) {
|
||||
id -> Nullable<Integer>,
|
||||
artist -> Nullable<Text>,
|
||||
title -> Nullable<Text>,
|
||||
album -> Nullable<Text>,
|
||||
year -> Nullable<Text>,
|
||||
genre -> Nullable<Text>,
|
||||
tracknumber -> Nullable<Text>,
|
||||
location -> Nullable<Text>,
|
||||
comment -> Nullable<Text>,
|
||||
duration -> Nullable<Integer>,
|
||||
bitrate -> Nullable<Integer>,
|
||||
bpm -> Nullable<Float>,
|
||||
key -> Nullable<Text>,
|
||||
rating -> Nullable<Integer>,
|
||||
}
|
||||
}
|
||||
|
||||
diesel::table! {
|
||||
track_locations (id) {
|
||||
id -> Nullable<Integer>,
|
||||
location -> Nullable<Text>,
|
||||
filename -> Nullable<Text>,
|
||||
directory -> Nullable<Text>,
|
||||
filesize -> Nullable<Integer>,
|
||||
fs_deleted -> Nullable<Integer>,
|
||||
needs_verification -> Nullable<Integer>,
|
||||
}
|
||||
}
|
||||
|
||||
diesel::table! {
|
||||
traktor_library (id) {
|
||||
id -> Nullable<Integer>,
|
||||
artist -> Nullable<Text>,
|
||||
title -> Nullable<Text>,
|
||||
album -> Nullable<Text>,
|
||||
year -> Nullable<Text>,
|
||||
genre -> Nullable<Text>,
|
||||
tracknumber -> Nullable<Text>,
|
||||
location -> Nullable<Text>,
|
||||
comment -> Nullable<Text>,
|
||||
duration -> Nullable<Integer>,
|
||||
bitrate -> Nullable<Integer>,
|
||||
bpm -> Nullable<Float>,
|
||||
key -> Nullable<Text>,
|
||||
rating -> Nullable<Integer>,
|
||||
}
|
||||
}
|
||||
|
||||
diesel::allow_tables_to_appear_in_same_query!(
|
||||
itunes_library,
|
||||
library,
|
||||
rhythmbox_library,
|
||||
track_locations,
|
||||
traktor_library,
|
||||
);
|
Loading…
Reference in New Issue
Block a user