diff --git a/Cargo.lock b/Cargo.lock index 6c30365..a58fe45 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -318,15 +318,6 @@ dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "derive-error-chain" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "derive_builder" version = "0.5.1" @@ -348,48 +339,31 @@ dependencies = [ [[package]] name = "diesel" -version = "0.99.0" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "diesel_derives 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel_derives 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libsqlite3-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "diesel_derives" -version = "0.99.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "diesel_infer_schema" -version = "0.99.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "infer_schema_macros 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.13.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "diesel_migrations" -version = "0.99.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "migrations_internals 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", - "migrations_macros 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dotenv" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "derive-error-chain 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "migrations_internals 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "migrations_macros 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -481,11 +455,6 @@ dependencies = [ "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "error-chain" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "error-chain" version = "0.12.0" @@ -764,26 +733,6 @@ name = "indexmap" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "infer_schema_internals" -version = "0.99.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "diesel 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "infer_schema_macros" -version = "0.99.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "diesel 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", - "dotenv 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "infer_schema_internals 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "inflate" version = "0.4.3" @@ -993,18 +942,18 @@ dependencies = [ [[package]] name = "migrations_internals" -version = "0.99.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "diesel 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "migrations_macros" -version = "0.99.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "migrations_internals 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", + "migrations_internals 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1461,17 +1410,16 @@ version = "0.7.1" dependencies = [ "ape 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "diesel 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", - "diesel_infer_schema 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", - "diesel_migrations 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "diesel_migrations 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.12.11 (registry+https://github.com/rust-lang/crates.io-index)", "id3 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)", "iron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lewton 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "md5 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "metaflac 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "mount 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1500,6 +1448,14 @@ dependencies = [ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "proc-macro2" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "proc-macro2" version = "0.4.20" @@ -1513,6 +1469,14 @@ name = "quote" version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "quote" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "quote" version = "0.6.8" @@ -1592,18 +1556,6 @@ name = "redox_syscall" version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "regex" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "regex" version = "1.0.5" @@ -1616,14 +1568,6 @@ dependencies = [ "utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "regex-syntax" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "regex-syntax" version = "0.6.2" @@ -2030,6 +1974,16 @@ dependencies = [ "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "syn" +version = "0.13.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "syn" version = "0.14.9" @@ -2632,14 +2586,11 @@ dependencies = [ "checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015" "checksum data-encoding 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "67df0571a74bf0d97fb8b2ed22abdd9a48475c96bd327db968b7d9cace99655e" "checksum deflate 0.7.19 (registry+https://github.com/rust-lang/crates.io-index)" = "8a6abb26e16e8d419b5c78662aa9f82857c2386a073da266840e474d5055ec86" -"checksum derive-error-chain 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3c9ca9ade651388daad7c993f005d0d20c4f6fe78c1cdc93e95f161c6f5ede4a" "checksum derive_builder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c998e6ab02a828dd9735c18f154e14100e674ed08cb4e1938f0e4177543f439" "checksum derive_builder_core 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "735e24ee9e5fa8e16b86da5007856e97d592e11867e45d76e0c0d0a164a0b757" -"checksum diesel 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0b97bd43f72d4819fac99f24d0030184c64c5ebdee96f94c7a7d4215c50506a7" -"checksum diesel_derives 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad228b6fd05c86050b95f56e497a8135073ffce28602e2200e63a21047eb474d" -"checksum diesel_infer_schema 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "87731d00bc7b4585cde88ebd84edfe7c856b6d322e706c205d3909a59f70fc27" -"checksum diesel_migrations 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "745dcfe39e3043c267e46dbe4f2ebbc9917039bdf4d81b108950be61244dfc89" -"checksum dotenv 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d6f0e2bb24d163428d8031d3ebd2d2bd903ad933205a97d0f18c7c1aade380f3" +"checksum diesel 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "164080ac16a4d1d80a50f0a623e4ddef41cb2779eee85bcc76907d340dfc98cc" +"checksum diesel_derives 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "03bcaf77491f53e400d5ee3bdd57142ea4e1c47fe9217b3361ff9a76ca0e3d37" +"checksum diesel_migrations 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b42c35d1ce9e8d57a3e7001b4127f2bc1b073a89708bb7019f5be27c991c28" "checksum dtoa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0dd841b58510c9618291ffa448da2e4e0f699d984d436122372f446dae62263d" "checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd" "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" @@ -2652,7 +2603,6 @@ dependencies = [ "checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" "checksum encoding_rs 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)" = "f1a79fa56c329a5b087de13748054fb3b974c4a672c12c71f0b66e35c5addec5" "checksum error 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "a6e606f14042bb87cc02ef6a14db6c90ab92ed6f62d87e69377bc759fd7987cc" -"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8" "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" "checksum failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7efb22686e4a466b1ec1a15c2898f91fa9cb340452496dca654032de20ff95b9" "checksum failure_derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "946d0e98a50d9831f5d589038d2ca7f8f455b1c21028c0db0e84116a12696426" @@ -2679,8 +2629,6 @@ dependencies = [ "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" "checksum image 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60710fd3cb40c2434451d8d5147bcf39bbb68aae0741041133e09439cb2401e3" "checksum indexmap 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08173ba1e906efb6538785a8844dd496f5d34f0a2d88038e95195172fc667220" -"checksum infer_schema_internals 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb18c12a2b6ed321318b84567cad75a6a8409f67691e7a5247bcfa554adf65a4" -"checksum infer_schema_macros 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "31586f241395ae8b56e190fe7acd0b2d41bae13a1391ff3ecdb78e4b63287ff4" "checksum inflate 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6f53b811ee8e2057ccf9643ca6b4277de90efaf5e61e55fd5254576926bb4245" "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" "checksum iron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2440ae846e7a8c7f9b401db8f6e31b4ea5e7d3688b91761337da7e054520c75b" @@ -2708,8 +2656,8 @@ dependencies = [ "checksum memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b3629fe9fdbff6daa6c33b90f7c08355c1aca05a3d01fa8063b822fcf185f3b" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" "checksum metaflac 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1839a57e30c651fb9647d1c140dcda407282a2228cddb25a21c1708645621219" -"checksum migrations_internals 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f9ac1d17f6f161f4d91cb7e5a72cce5b24a60b80f96580a8ac94351c56b8606a" -"checksum migrations_macros 0.99.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dc767420eac6b718cd593aaa09c06a31d4ed228291c8538b274737e28a29939b" +"checksum migrations_internals 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8cf7c8c4f83fa9f47440c0b4af99973502de55e6e7b875f693bd263e03f93e7e" +"checksum migrations_macros 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "79f12499ef7353bdeca2d081bc61edd8351dac09a33af845952009b5a3d68c1a" "checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" "checksum mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "4b082692d3f6cf41b453af73839ce3dfc212c4411cbb2441dff80a716e38bd79" "checksum mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2d4c0961143b8efdcfa29c3ae63281601b446a4a668165454b6c90f8024954c5" @@ -2756,8 +2704,10 @@ dependencies = [ "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" "checksum plugin 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1a6a0dc3910bc8db877ffed8e457763b317cf880df4ae19109b9f77d277cf6e0" "checksum png 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f54b9600d584d3b8a739e1662a595fab051329eff43f20e7d8cc22872962145b" +"checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7" "checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee" "checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" +"checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8" "checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5" "checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1" "checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd" @@ -2767,9 +2717,7 @@ dependencies = [ "checksum rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "df7a791f788cb4c516f0e091301a29c2b71ef680db5e644a7d68835c8ae6dbfa" "checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356" "checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" -"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" "checksum regex 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2069749032ea3ec200ca51e4a31df41759190a88edca0d2d86ee8bedf7073341" -"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" "checksum regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "747ba3b235651f6e2f67dfa8bcdcd073ddb7c243cb21c442fc12395dfcac212d" "checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a" "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" @@ -2817,6 +2765,7 @@ dependencies = [ "checksum staticfile 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "31493480e073d52522a94cdf56269dd8eb05f99549effd1826b0271690608878" "checksum string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00caf261d6f90f588f8450b8e1230fa0d5be49ee6140fdfbcb55335aff350970" "checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" +"checksum syn 0.13.11 (registry+https://github.com/rust-lang/crates.io-index)" = "14f9bf6292f3a61d2c716723fdb789a41bbe104168e6f496dc6497e531ea1b9b" "checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" "checksum syn 0.15.8 (registry+https://github.com/rust-lang/crates.io-index)" = "356d1c5043597c40489e9af2d2498c7fefc33e99b7d75b43be336c8a59b3e45e" "checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" diff --git a/Cargo.toml b/Cargo.toml index 4f35c31..4ac7f9a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,18 +9,17 @@ ui = [] [dependencies] ape = "0.2.0" app_dirs = "1.1.1" -diesel = { version = "0.99.0", features = ["sqlite"] } -diesel_infer_schema = { version = "0.99.0", features = ["sqlite"] } -diesel_migrations = { version = "0.99.0", features = ["sqlite"] } +diesel = { version = "1.3.3", features = ["sqlite"] } +diesel_migrations = { version = "1.3.0", features = ["sqlite"] } error-chain = "0.12.0" getopts = "0.2.15" -hyper = "0.11.2" +hyper = "0.12.11" id3 = "0.2.3" image = "0.20.0" iron = "0.5.1" rustfm-scrobble = "0.9.1" lewton = "0.9.1" -log = "0.3.8" +log = "0.4.5" md5 = "0.4.0" metaflac = "0.1.8" mount = "0.3.0" diff --git a/diesel.toml b/diesel.toml new file mode 100644 index 0000000..1e154a7 --- /dev/null +++ b/diesel.toml @@ -0,0 +1,2 @@ +[print_schema] +file = "src/db/schema.rs" diff --git a/migrations/.gitkeep b/migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/db/migrations/201706250006_init/down.sql b/migrations/201706250006_init/down.sql similarity index 100% rename from src/db/migrations/201706250006_init/down.sql rename to migrations/201706250006_init/down.sql diff --git a/src/db/migrations/201706250006_init/up.sql b/migrations/201706250006_init/up.sql similarity index 100% rename from src/db/migrations/201706250006_init/up.sql rename to migrations/201706250006_init/up.sql diff --git a/src/db/migrations/201706250228_directories_date_added/down.sql b/migrations/201706250228_directories_date_added/down.sql similarity index 100% rename from src/db/migrations/201706250228_directories_date_added/down.sql rename to migrations/201706250228_directories_date_added/down.sql diff --git a/src/db/migrations/201706250228_directories_date_added/up.sql b/migrations/201706250228_directories_date_added/up.sql similarity index 100% rename from src/db/migrations/201706250228_directories_date_added/up.sql rename to migrations/201706250228_directories_date_added/up.sql diff --git a/src/db/migrations/201706272129_users_table/down.sql b/migrations/201706272129_users_table/down.sql similarity index 100% rename from src/db/migrations/201706272129_users_table/down.sql rename to migrations/201706272129_users_table/down.sql diff --git a/src/db/migrations/201706272129_users_table/up.sql b/migrations/201706272129_users_table/up.sql similarity index 100% rename from src/db/migrations/201706272129_users_table/up.sql rename to migrations/201706272129_users_table/up.sql diff --git a/src/db/migrations/201706272304_misc_settings_table/down.sql b/migrations/201706272304_misc_settings_table/down.sql similarity index 100% rename from src/db/migrations/201706272304_misc_settings_table/down.sql rename to migrations/201706272304_misc_settings_table/down.sql diff --git a/src/db/migrations/201706272304_misc_settings_table/up.sql b/migrations/201706272304_misc_settings_table/up.sql similarity index 100% rename from src/db/migrations/201706272304_misc_settings_table/up.sql rename to migrations/201706272304_misc_settings_table/up.sql diff --git a/src/db/migrations/201706272313_ddns_config_table/down.sql b/migrations/201706272313_ddns_config_table/down.sql similarity index 100% rename from src/db/migrations/201706272313_ddns_config_table/down.sql rename to migrations/201706272313_ddns_config_table/down.sql diff --git a/src/db/migrations/201706272313_ddns_config_table/up.sql b/migrations/201706272313_ddns_config_table/up.sql similarity index 100% rename from src/db/migrations/201706272313_ddns_config_table/up.sql rename to migrations/201706272313_ddns_config_table/up.sql diff --git a/src/db/migrations/201706272327_mount_points_table/down.sql b/migrations/201706272327_mount_points_table/down.sql similarity index 100% rename from src/db/migrations/201706272327_mount_points_table/down.sql rename to migrations/201706272327_mount_points_table/down.sql diff --git a/src/db/migrations/201706272327_mount_points_table/up.sql b/migrations/201706272327_mount_points_table/up.sql similarity index 100% rename from src/db/migrations/201706272327_mount_points_table/up.sql rename to migrations/201706272327_mount_points_table/up.sql diff --git a/src/db/migrations/201707091522_playlists_tables/down.sql b/migrations/201707091522_playlists_tables/down.sql similarity index 100% rename from src/db/migrations/201707091522_playlists_tables/down.sql rename to migrations/201707091522_playlists_tables/down.sql diff --git a/src/db/migrations/201707091522_playlists_tables/up.sql b/migrations/201707091522_playlists_tables/up.sql similarity index 100% rename from src/db/migrations/201707091522_playlists_tables/up.sql rename to migrations/201707091522_playlists_tables/up.sql diff --git a/src/db/migrations/20170929203228_add_prefix_url/down.sql b/migrations/20170929203228_add_prefix_url/down.sql similarity index 100% rename from src/db/migrations/20170929203228_add_prefix_url/down.sql rename to migrations/20170929203228_add_prefix_url/down.sql diff --git a/src/db/migrations/20170929203228_add_prefix_url/up.sql b/migrations/20170929203228_add_prefix_url/up.sql similarity index 100% rename from src/db/migrations/20170929203228_add_prefix_url/up.sql rename to migrations/20170929203228_add_prefix_url/up.sql diff --git a/src/db/migrations/20171015224223_add_song_duration/down.sql b/migrations/20171015224223_add_song_duration/down.sql similarity index 100% rename from src/db/migrations/20171015224223_add_song_duration/down.sql rename to migrations/20171015224223_add_song_duration/down.sql diff --git a/src/db/migrations/20171015224223_add_song_duration/up.sql b/migrations/20171015224223_add_song_duration/up.sql similarity index 100% rename from src/db/migrations/20171015224223_add_song_duration/up.sql rename to migrations/20171015224223_add_song_duration/up.sql diff --git a/src/db/migrations/20180303211100_add_last_fm_credentials/down.sql b/migrations/20180303211100_add_last_fm_credentials/down.sql similarity index 100% rename from src/db/migrations/20180303211100_add_last_fm_credentials/down.sql rename to migrations/20180303211100_add_last_fm_credentials/down.sql diff --git a/src/db/migrations/20180303211100_add_last_fm_credentials/up.sql b/migrations/20180303211100_add_last_fm_credentials/up.sql similarity index 100% rename from src/db/migrations/20180303211100_add_last_fm_credentials/up.sql rename to migrations/20180303211100_add_last_fm_credentials/up.sql diff --git a/src/db/mod.rs b/src/db/mod.rs index c79f3ef..d875064 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -13,8 +13,8 @@ mod schema; pub use self::schema::*; #[allow(dead_code)] -const DB_MIGRATIONS_PATH: &str = "src/db/migrations"; -embed_migrations!("src/db/migrations"); +const DB_MIGRATIONS_PATH: &str = "migrations"; +embed_migrations!("migrations"); pub trait ConnectionSource { fn get_connection(&self) -> MutexGuard; diff --git a/src/db/schema.rs b/src/db/schema.rs index 85335b9..fbc9e6c 100644 --- a/src/db/schema.rs +++ b/src/db/schema.rs @@ -1 +1,99 @@ -infer_schema!("src/db/schema.sqlite"); +table! { + ddns_config (id) { + id -> Integer, + host -> Text, + username -> Text, + password -> Text, + } +} + +table! { + directories (id) { + id -> Integer, + path -> Text, + parent -> Nullable, + artist -> Nullable, + year -> Nullable, + album -> Nullable, + artwork -> Nullable, + date_added -> Integer, + } +} + +table! { + misc_settings (id) { + id -> Integer, + auth_secret -> Text, + index_sleep_duration_seconds -> Integer, + index_album_art_pattern -> Text, + prefix_url -> Text, + } +} + +table! { + mount_points (id) { + id -> Integer, + source -> Text, + name -> Text, + } +} + +table! { + playlist_songs (id) { + id -> Integer, + playlist -> Integer, + path -> Text, + ordering -> Integer, + } +} + +table! { + playlists (id) { + id -> Integer, + owner -> Integer, + name -> Text, + } +} + +table! { + songs (id) { + id -> Integer, + path -> Text, + parent -> Text, + track_number -> Nullable, + disc_number -> Nullable, + title -> Nullable, + artist -> Nullable, + album_artist -> Nullable, + year -> Nullable, + album -> Nullable, + artwork -> Nullable, + duration -> Nullable, + } +} + +table! { + users (id) { + id -> Integer, + name -> Text, + password_salt -> Binary, + password_hash -> Binary, + admin -> Integer, + lastfm_username -> Nullable, + lastfm_session_key -> Nullable, + } +} + +joinable!(playlist_songs -> playlists (playlist)); +joinable!(playlists -> users (owner)); + +allow_tables_to_appear_in_same_query!( + ddns_config, + directories, + misc_settings, + mount_points, + playlist_songs, + playlists, + songs, + users, +); diff --git a/src/db/schema.sqlite b/src/db/schema.sqlite deleted file mode 100644 index 9bea424..0000000 Binary files a/src/db/schema.sqlite and /dev/null differ diff --git a/src/index.rs b/src/index.rs index 7fddf2c..1b20fd6 100644 --- a/src/index.rs +++ b/src/index.rs @@ -3,7 +3,7 @@ use diesel; use diesel::dsl::sql; use diesel::prelude::*; use diesel::sqlite::SqliteConnection; -use diesel::types; +use diesel::sql_types; use regex::Regex; use std::fs; use std::path::Path; @@ -28,7 +28,7 @@ const INDEX_BUILDING_CLEAN_BUFFER_SIZE: usize = 500; // Insertions in each trans no_arg_sql_function!( random, - types::Integer, + sql_types::Integer, "Represents the SQL RANDOM() function" ); @@ -512,7 +512,7 @@ where let real_directories: Vec = directories::table .filter(directories::parent.eq(&real_path_string)) - .order(sql::("path COLLATE NOCASE ASC")) + .order(sql::("path COLLATE NOCASE ASC")) .load(connection.deref())?; let virtual_directories = real_directories .into_iter() @@ -521,7 +521,7 @@ where let real_songs: Vec = songs::table .filter(songs::parent.eq(&real_path_string)) - .order(sql::("path COLLATE NOCASE ASC")) + .order(sql::("path COLLATE NOCASE ASC")) .load(connection.deref())?; let virtual_songs = real_songs .into_iter() diff --git a/src/main.rs b/src/main.rs index 62dd09e..7816aad 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,8 +7,6 @@ extern crate crypto; #[macro_use] extern crate diesel; #[macro_use] -extern crate diesel_infer_schema; -#[macro_use] extern crate diesel_migrations; #[macro_use] extern crate error_chain; diff --git a/src/playlist.rs b/src/playlist.rs index 7fdf967..1e42889 100644 --- a/src/playlist.rs +++ b/src/playlist.rs @@ -2,7 +2,7 @@ use core::clone::Clone; use core::ops::Deref; use diesel; use diesel::prelude::*; -use diesel::types::*; +use diesel::sql_types; use diesel::BelongingToDsl; use std::path::Path; @@ -188,7 +188,7 @@ where WHERE ps.playlist = ? ORDER BY ps.ordering "#); - let query = query.clone().bind::(playlist.id); + let query = query.clone().bind::(playlist.id); songs = query.get_results(connection.deref())?; } diff --git a/update_db_schema.bat b/update_db_schema.bat new file mode 100644 index 0000000..9d17e94 --- /dev/null +++ b/update_db_schema.bat @@ -0,0 +1,6 @@ +cargo install diesel_cli --no-default-features --features "sqlite-bundled" + +mkdir tmp +diesel --database-url tmp/print-schema.sqlite setup +diesel --database-url tmp/print-schema.sqlite migration run +rmdir /q /s tmp \ No newline at end of file