From 48310e044b7d7f18022dd0bff735ae29f09535ce Mon Sep 17 00:00:00 2001 From: Jason Dove <1695733+jasongdove@users.noreply.github.com> Date: Sat, 11 Oct 2025 09:05:31 -0500 Subject: [PATCH] optimize first run (#2516) * do not accept ui requests until database is ready * add empty database to greatly speed up initial startup * remove middleware --- CHANGELOG.md | 1 + ErsatzTV/ErsatzTV.csproj | 1 + ErsatzTV/Resources/empty.sqlite3 | Bin 0 -> 1769472 bytes .../RunOnce/DatabaseMigratorService.cs | 20 +++++++++++++++--- 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 ErsatzTV/Resources/empty.sqlite3 diff --git a/CHANGELOG.md b/CHANGELOG.md index e7d7daf91..0ac86e439 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Add `get_directory_name` and `get_filename_without_extension` functions for path processing - Add `Block Playout Troubleshooting` tool to help investigate block playout history - Add sequential schedule file and scripted schedule file names to playouts table +- Add empty (but already up-to-date) sqlite3 database to greatly speed up initial startup for fresh installs ### Fixed - Fix NVIDIA startup errors on arm64 diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj index f59143075..b9099b283 100644 --- a/ErsatzTV/ErsatzTV.csproj +++ b/ErsatzTV/ErsatzTV.csproj @@ -101,6 +101,7 @@ + diff --git a/ErsatzTV/Resources/empty.sqlite3 b/ErsatzTV/Resources/empty.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..4a94f1b4c7bfb9b00b5e453ed7c8a65514ca904c GIT binary patch literal 1769472 zcmeFa3w#^bedh~sNP;gA@ABT1WWyY0>G>$cl|nr`>@)7x~L&D}@a+}m#3{cN*)o3_a&P4_mp z-R<_7-Ov4>GjBZjkV{q6{wNUyX3qbd|M~v^=YJl9nUi~AM$zTSRaL7JV(J{bC*(3_!+(6@&^ANp+Qk3xSQ>IwC9DjLT@00i0-Sbupq5I%Fpe@oS+D`j~` zElTBCxui%rwXPNATFZgZq<>gt2~2AwOp2q zI(@8lJ~Qlv-Z|lp=x>(IR%Xbps5kP8UM4d%aURLZQcbPS)hkz+6>JwE^S3obXDtki zxBzY2DlVDLEVF)oC=i~Q@ZTEcmdPoV)w0}dmG(!2UW>F(v?FVD%3=#kG`V&ATy~vg zqcj)@A3p5g2yv2&a!oDQxl_B|4tbfm&g=-3M{Wx`BXd%vjf*}fE6Xdo%Q?;XWJZvS zN=aX7Jv%VkSRDw2Po45_Jix2DpsCB6RLK=r=KI=FzM!S0>eZwX=I> zYep+?>!D`@+(Xxmkk(X-=33SIHmyx<(^@ol=FMe|M7APD<(^YM)?Lom?v$kpM3fft+5tlKP z=rCC9kdLdjW(%TFS*jQH7iEo&vYK)o7|ja3;g`nzKBZccZ<>~r>blB4)5P?nZ$3q@ zZ@zhsUO)Wilk|G)&9n5n{^kU|e(23{dVS^1B)z`+=KJY2^5M($`r=1krPuk7T%p%* z;W>Pe=dkt`o0k64Etb#Cw+_(j2i}~aBY*qGHG2Kr8>4h&--lVAH{Lo-uOEABj$Yq< zi>3eex86;!t8Y9x9%qSu~vI{ERpm^vSQiz?xJ z|M~~%b*@1f`|fKzNUvAd_tERi4Jy|EgKu4@*Vsq$^!h^|WwZN-KRg+v(=_S#g}%t% z;0FXi00ck)1V8`;KmY_l00ck)1VCVK5qQim_~v8LSn`w@Jtc|}G5$m%`9y5|^h7K! zMpNS_qR}U!QMOLe9r`-G`o}_l8~Sgd|1b3Q;V%w;_zd^zYhL-@MFRA!SK-U z4}E5+G4#UFy9U28_{)Qz8eAPbKe&J3%L6|(&={B=xUc_9{Xf_LM*n;IPxT9Zzt#6W zeJ}SN5BzoDmjd4zxEwgx`xm{x-20K<=X($Ke7)yi_I#}8a*x>kSKXiO-snExJuG}t z_+FtT9Pj$eu3zkWtLuDM!2fUkKkdKapYcEJ`$ONSpPUowVXBE3O++WeSbQRuEYRfu zSue~eS2RgmTafgX8L6h{ic+;OTdyg_7nPE%)+SCzPfv`^3fC;@aZ!vXqvM4sx*A8T zeooR^S(i$ZE)~+6PHS9T@XURaP&6B2{7ZfL{7>h>ZR^Dxt;+NdG+@Y-Sv@Itl;$ke}DuO48KPMEOBw{?8um^0yLQkC+)-0h!ES4OLPuTjf>%!)$S|KN~i)HEBDqXx>WNU(= z$mP@1!fUp?7>kKBbE%4Yot(m5-$}J3 z7Y&i|XN8I-B8p-x88@u!*sF~{85T)977@j0l3dWJ8N2LmR?j7C6!-Kq!Uv4v;?!KJ z%_d@&h8-%HX4d2i^HO6^3zCz;cp^o9(28f8u4Kt%Ntw%xJ!Q2ORw%W%gzX02Lh~z{ zES2~L3oiJ?Im;ID*hGw6PBd)Mbp485tQsvB$2v-PsBkPq@=$In_eiO0rctUW}%k->5p^D@6qT33vkK4I51HZG2f z(Rhp(I!O(rDwh{D`KqjGa%o1YF4v`HnQ`TUk533$OIxaCJQf?{g4}I#P64rT8-I+V z2jRDBCEqmC@~>J@C3W`YD?_OyKPI855Q*^{5JQ3ipOR>@P~Vd?(A+@C`B15i^L5Z98r%QQ?ABnkbGX$4p%<%yz=@Gq!_K%Z*WBV-~qmSIVVyxomo9t&mqL^1D@vF6m`S zsT#ICZQGJbM&k*q)3OS2+meT56Zt6zIhB}9noY?Pb0vM^q}}SMwT>l-+a|ToshaMz zx-%!Na2t_C^DJ;sXWvR$7&hhle9v5bf^f4AhqIT@E8pJg9BRu8FBf^rMl0_9sVJ4+<$qiMzW@J3#&N!J&n614{ z(&!=KB}e0UA`v$_0n>AhanPhxD@rBVaKCuOG8ofZB=&X};O-fjoyjC}iEA`*&{fi5Y^69)DDL!Pbz*cog-ls=LeMX%mlFE=a{t z+60X9S6sw+Bud4da_e$Z-tu~>?=y`(*|BB9xqLZS~itSLR!GHKc0DZ!)GiTj0| zRp%7-6mdtQHT&d!RtLe0?plb6ggIn0BNp>uk4{se z?uOtf#Rhp|p=t1AR?F!Rc_yZvIJCW2vc_#Z$3&mg?8(EEG+HzL(E1J*^K>3n)S6D$ z{|!eBI3}cCBuay@f|cHZ$htQp{jpxB8;DYvh>GI{Ctc00dylQVI3cEzG$nO$&fHv; zs_ZKWT#J+4Hai;E($JqGqvbjCtGZHAUNyd2!BamjSc6My$TZlX39mtgH)UQqp6*ze zt*c1mWy*BI&ehw^Kk64IxHV{o|KHb-)9Zg~yiBj((s&2G*5~MJ05tzUO0T{@3H|HP z$LZVnM~DB%@E3-EWcc;r_YS9qhl9Tz{I1|iFclmg`h%gLA9`cxrJ?xHgR~0ptApQ9 zs{l_AzGL7I2YzFN37!eu)d zjm*evd6>77xmr!mE;b>is8|YVJZZW}U$tRt2dvF3#stO4FCkK9u>?)#I`&8fF8ac| zgmW&DXu=$M@skU#{AgJ3UVkuaV6{Nouja>vx|!e3R$=Di!Zk~9y9+S0G&;3pwpx3c zIU>xv(so#Ox!}~8Lcz9HT%LbKc-qdmWw9lDMkqRGw_ay??g?SdO25M;mhnG2g79>Y@%cYa2Z3o}}s>xF}=p8MXoJ$I-so4(JN}jZV?_inatW&FPuaG=3B4jP~ zIxddbY`3#6GVao1yGtTtcDrr28j^|%vZ>?t7DAGCeA#RbBw>fg9WH;wX$iy9XL~Cj zF_*;l7Cpqn!Ue00PU{^}$4S_N#rBpu&N${_Lfcy9IPKy|<#br!IOQ~uovdw~w1eH& z%Ni#fPuSjy#&J6aZErDS)bR-hbo=WV$L!$)4MR6y!Z>OVA81b8Y4zgqW5SYQe>Okg zWZ~k7Z5x)b)0)L&p6oVRt~l(;uG31z$VuTPN4qT+DGu2-U>a_{J`u4arjdSoOA`m} zVIE0!UX^&%_8=qKmJ1S(xU0I=TEx3tiML#ac-U^@omU{<=`u&>#fJlr3Tew6ZPp#$ zF)CbiPH(p45O%rArmGDPxooQ#!VIr`dzJYTk8aUE~`+0-eie@rklTdN_eS@CX+Ogq^aQqtvZDoDYgazee8=`10Vn!4rcA2Y+Yq*9U)b=>Fh89{RDN+K@2xvx9Q*dPs8r zyLb7bW*`6pAOHd&00JNY0)Nj09%wuvoa&RW7U(O(tA$+s3VnCIEYm3X9iz@seq$sZ z+t=Ti5DxSiw^4-}&v_6>q;rq7~@Ci8_?z#!yjnGD0lN3-9@^VM>ij8*A6x^ zLZ;8W=c4Hg-Nx;04>gVo@xE+@?ldzVWNY2-wy*KHaMUZ0>rmrK;UMWl zrL#L!B)zwBR(PO~?p+$BIzG~8)vd3Q62g7_wxNMWQh2z}{7&gm+1Gc1@)>AM(m_*a z`D&&=ilOiF1xVk4#B*G0NNg&Z$xLV83ra)61}ssaK$p7WVf|$wl>{#uTAy zqR74<-PcG^J^9yLhew6O{jTrW-d|+8d7s-EJSrUOqwmm~k1P#N`uZ5Vp{FgVEYE%8 zq@Cxkf}uv7667`Mnm$8!vyh&_k}qiUyRQ)yMy<-3kIM^w!}sJ-yFyICqvQ}v_L0pT zW4Q6OaM;R^X{22{a8Q_NuFQN@W+xwgRG4f&W!*5z&JQ1^N)p+jDXIg%;g8*qA(tPf z?+Q1|O_x=*#D!!-=+Rnh=9ZhXbo8GxyZ-=p1JAvL!>{=UP0Q&0dGZJHKw?LV41d=5 zfP;qnDD$j`$+Pn2)$rhpWGClZIo-P4mn1uLqYQt;H{7>kS^a_gg;V{_50@UiPk7jG z`d1(%`GU5~-hbakGL@l<)wY6Xs4(YS{{!zOPc?53=|9CH0e{MI;3WAXdlvG(6T;Dc z?}HeJ`^a8qdF8^Z2K)U7~Nc};rjpIbAN>5K>!3m z00ck)1V8`;KmY_l00cnb4iLcn{|-P#5g-5pAOHd&00JNY0w4eaAOHd&@b^rB&Hn?T z-}8mO8T!l6e+m6b=#N5QrjPgm0T2KI5C8!X009sH0T2KI5C8!X*fRvWg?@j4z4Wq| z9`@4BUIg~iB?$ffxcE5C8!X009sH0T2KI5C8!X009tqdjv55 ze|!8O4FVtl0w4eaAOHd&00JNY0w4eadw~Gv|9ino&=CYc00ck)1V8`;KmY_l00ck) z1l}G2%>UmWKS+ZB2!H?xfB*=900@8p2!H?xfWTfLfam}11uH>E5C8!X009sH0T2KI z5C8!X009tqdjx|0|H(HbtolMv4wr@x1pn30uXO+V;9+64ztZ;`ftlV>|JUAL{*b;a z2)r&e9t?yJANGH=Uze_w<%P1erq=bWE>~P{rOCxiI-iN;)6dRiA|tLdBaveR5&9X) zmPR7kxqRk)W-&51pO4Hf&CEn5=jU?y#WWo!p$i3%+`?jZHobT`av^g$l3vQsXXmJp z+00!2q>Og<7lX{F37dRexzp<2_4Y;9U8mt}1W`SW$9B%AeIzg*;YxV2{5 zLB2VoT+t+LZJ}(xJ=tsr`^*mQ;F8_cCD5xO4XKJ+}<(Gyu;S2U{<}r>^nWbn8}`>F*BW6%*;(@a#V~# zi2xYq=I0_)nVAfE>ts4NnV!lFjIO`CV6goFXKQhl^cC0J7rbm;XLiKaBexaX1yZ2} zi&dkxzHMOL4o;UMHcsb)L)|&4;t7WQXft-BiXPfcxqBPE_oUZFUFSBlLF1h( zfpBir-^frM<(t_{Jl;&I)v8?76}8Ggy7J1FSUhshUox$fotw&Bq6ojW{78gC5%rbs zT$qOJh^L^D(d)~B@VUeO#sNz=)1WLqSdBMZavi+bqK)gMBVnlEI>pL2Ke9mT^ZB1* zo&T+K_eQ7F&e?XaTiJM63WP^T{jVE=&ueM#r+0YUxc4L(W&2INS#+xwpRJ|Izpqo9 zY#yDNqo5^CY3+hoDPAA#Al}rnz1lUmspikE{ZMPU-p1Z^ezOL@F1#-gK61prk#)Ky z)Af1SH{XwYE#p45BfEG7x3EeRHMgwQc(>F2m{r(}!a`4P_{0hSWzL}XN?Fn6LQQ_9 zE?0|k)5l&9iKdgssub5xlH_Ps=ncO#=J)YXWu}tqy2?Kn3Wdz{tg@_0ET-0;Q)noy ztrf(!hr1g~U4ih}n19_cQQJgq4+m zg(f;4Fu{RQeEGe8Lt009sH0T2KI5C8!X009sH z0T9?#0=WLat9X$)2!H?xfB*=900@8p2!H?xfB*>G6$Eho|E@3tlmGz`009sH0T2KI z5C8!X009sHfn6nl`TwrsMdly?0w4eaAOHd&00JNY0w4eaAaGX@!2JKNFawkT0T2KI z5C8!X009sH0T2KI5CDN)C4l??cNH%(2LTWO0T2KI5C8!X009sH0T2LzyMh3&|KAm6 zfD#}80w4eaAOHd&00JNY0w4eaAh4?hF#q3GyvQ5`KmY_l00ck)1V8`;KmY_l00iy| z0{H&_U10_&0RkWZ0w4eaAOHd&00JNY0w4eayGj7_|6Rq4%s~JIKmY_l00ck)1V8`; zKmY_l;I1Hm`Tt#E1}FgnAOHd&00JNY0w4eaAOHd&00O&80Q3J{#f!{A00ck)1V8`; zKmY_l00ck)1VG@fAb|P*U10_&0RkWZ0w4eaAOHd&00JNY0w4eayGj7_|6Rq4%s~JI zKmY_l00ck)1V8`;KmY_l;I1Hm`Tt#E1}FgnAOHd&00JNY0w4eaAOHd&00O&80Q3J{ z#f!{A00ck)1V8`;KmY_l00ck)1VG@fAi(DT{?LE)(SQ7a00@8p2!H?xfB*=900@8p z2!H?x>_GyDh1vdEQL0vD?Q~hWqDk6XL6fg)a&4ucRCQUqE|r6;HSeNKg?3KmY_l00ck)1V8`;KmY_l00iD90nGp3CP0XT z00@8p2!H?xfB*=900@8p2!OyIAb|P*9xxJA1OX5L0T2KI5C8!X009sH0T2Lzw@Co= z|F;Pc;vfJ5AOHd&00JNY0w4eaAOHd&um=d>`G0%BNKg?3KmY_l00ck)1V8`;KmY_l z00iD90bKuon*bpW0w4eaAOHd&00JNY0w4eaAOHe;fB@$Id%#Fg5d=U01V8`;KmY_l z00ck)1V8`;-X;Nj|Nm_Qgg6L*00@8p2!H?xfB*=900@8p2!3m00ck)1V8`; zKmY_l00cnbHV9z;e;d#s0s!3m00ck)1V8`;KmY_l00cnbHV9z;e;d#s0s#W=AOHd&00JNY0w4eaAOHd& z00MiA0OtRD%wSL#1V8`;KmY_l00ck)1V8`;KmY`8g8=6Lw*d_zAOHd&00JNY0w4ea zAOHd&00JPe#|U8lzsC#)bwL0GKmY_l00ck)1V8`;KmY_l;5G0OtR<0SzJ` z00JNY0w4eaAOHd&00JNY0wA!*2w?ud#|#E_K>!3m00ck)1V8`;KmY_l00cnbHV9z; ze;d#s0s=Kr?=4I&@_0w4eaAOHd&00JNY0w4eaAh5>>VE(_y3TN9LAhW+IdGbGiItnvO?C7A_QAQVWaO+4SP&$c4=1NO~zhpPi!u zW;1j7lSXzkQcb_8DY~3jD)LAqpSfgYX`NQCXp*+JAn7aZ3N}-*)2*@#YE755PRF+> zIHyaxQqz@Ut&pyl6m?Q9$;H;ZT*;=C+G<%^OV?KAqP|Gd>gLJo8cS1cpXk>68wUd6 z$w~i5-op*GpsCB6RLK=r7!2nWI^PWa!LH{g`zo80AcYF#VJ3*L`%69n(somIS9cB{%x zmKC|GXG`>=TvggSqo$VXMg2uttF?CqS-UQ4bCS1lP%A4-`c+k{Sa_%v5*q7ho9rSZ z%;P83a+%zdimK&`Qmga18}jspLK8}(VH=bStUXT8FJ`jm=XmQr#zMnrWHB?HS4q2xA3fT&p5^wORI68&qV(tcgL)O(f+jmBfQzZ9%|QYXX|BMSuM+LnyvfP zHE$)GnwvZ2j;g$AK3f5pRO?l}Q=4t}8gH<2D_m$&f|1ycC$$mV%%j#XHr^QspF8Kj zm2PK;>9VSp+8Dt;zOtzW>|}2Tzblh1*l$kP&gTxH9r$zK|7y5+p&eQ)Y`3B7KDEm| z(|VwBDiA(&$iH!!E4e7w)N-ALJ?GuGdTs2S*pXG;Vq4g8or}aKA`z5h1luz(o8-Q9i{jh{52m9CRl$NG)!i7V;g50?=oyD zx3i_Y;Wjlu_o=-UuBcBkV{rR1hy%_Tjcnfbth{&>Ya+BukxgqPDX=~4ZyZpnCHZFd zQenmzBD?$MY{@*>Z~Az4ZYpz$9Hv9+kqGt5Bc=?CtFF-$>(m?fH_imYhYxo(6z(Uk z)2_F^4|!XZ>(q{#lt->(n;ICU8Q52hMm~72HuBN+*~TM*@Wh1wRg5t)kIq3$af`id_Q3i(3+BJ{(dS3`>-F%$}YeNRs2p)?49 z00@8p2!H?xfB*=900@8p2yB-?q_@`>_xB%&Mx){>{y!3pKEeO@W-HRNTszpqQ-s^3 z=*g+o<=W%jJi(DR3A*R?6d{ z=UMf-BG;($J-+>cUZ2n3KN?t+E2=I>a=Io!3m00ck)1V8`;KmY_l00cnb9wdPI|2=3_R0#w?00ck)1V8`;KmY_l00ck) z1eyro{{JQ*_y__Z00JNY0w4eaAOHd&00JNY0{0*R%>VB}qoPV600JNY0w4eaAOHd& z00JNY0wB;t0Q3JQAovIZAOHd&00JNY0w4eaAOHd&00Q?Q0nGpJL8GEdAOHd&00JNY z0w4eaAOHd&00JP;L;&;uCLs6-0w4eaAOHd&00JNY0w4eaAOHgQAOXz(??I!YN+19N zAOHd&00JNY0w4eaAOHd&&_n?9|0W>#2m&Ag0w4eaAOHd&00JNY0w4ea_aK2FtJA)F zuwtkZ2!H?xfB*=900@8p2!H?xfB*=9fK33`|7{d_0|Fob0w4eaAOHd&00JNY0w4ea z_bdU-|LJ8s`!S7S5CHZFUm9nDC1*xv9{BuFRTF~XnY9Xgo zR?G6NTvDV-wOp2qx}sKR)$58}5VuaV`ue5Dqk-_!lK-s-bm>Z2mS1164ha0f>(8*y znT-D}<8#~cGOJ2WEyTN9LAhW=XiSDYt61AOEtCXDu{nx>*yZ*^zAx^DZG_S%+)Jb zWH)7RBUzC2l~$Knc>U4F`vc(o)#7KnN z{D@1AX<>b&s1bV2_nB~-3O>}XVBYsK6|(N4hc+$RCDXQW_xVwuFYr0uGB-lJWiDvy zvL;n>#TB_!FUw6IU*iQ|YFzFOpE}@Qvoy}};88H5w(%j>qM|2}p_p-q0WkyqXrr%j zF%UjK>TjH~GIvHE+!QYDy=S5=C3?>nT#`od-t$ZicaqVKM;c3k@PPyVH}-QhhPKA* zX|phE#If_xYt?c9AUrzi|L{d_Uhiq|rxRXtdry*z z#t6}MxN}6e8Mf^jA|sRanyyx|Y+UZ@721wvXk_Oql7hrY#O+PTMqFo0BPSzX_ik$` zmjsJ@&PUhVR!4D?wYZFPs9>_jbU*k?LxF)-RFG!_Hl{rmkJhl~bK z{>OaqxYzooTN*ZJN;D5=n}^?qfZH@}2HQ=2ACqya`ghbgsfw2xF9gDe4*AzV(B$-v zp+>#cbxzohzMV?D#kQ#W$eiSvUJQ_{F4bhCC9tmYid4Kdua(-3JDnlKXsxjj2q%yF z8)2vGs9sf;GiA9VSM|aLd2Ld49XMvzb7?O7!cvB;X!YZsR7}k3E?mOQkJuUNKz)ty z*%SW8VXM@pKC{4T*L3Vir=pwEaapqy_jb&ze2#4t_y0TV8h8f+AOHd&00JNY0w4ea zAOHd&00Q?a0et`eUbQUh1p*)d0w4eaAOHd&00JNY0w4ea4gt*n9Ts>80w4eaAOHd& z00JNY0w4eaAOHgQDgoE`{~w?_-cP^S4e(wyHtGceAOHd&00JNY0w4eaAOHd&@INg9 z*Zlu~S_Y^%2!H?xfB*=900@8p2!H?xfB*>G>jZ+mzv~P5zwYb4I(%?wY;fNH^?~2+ z`vm{DzxQ|9zk8j)T~WVV?_2i=!bgw#KVm#tlW&t?J>%Q+;h^{Vnx1o;J!13Lnpwh| zB7b(LN6_=(c1xIPesZZNSMSqh+dRT_hWFMX5etap4ce9I%-J3Km_9zv?qQ%e^mU8ycx&tq@<7+~7cz+)%llkv(pdG{@_ z@Oht*&X2NZiju%6dt!O>E(N#LMkNqFa>W0p^K4wpTy?I z2gvTws2z>NO5Mb@tV(X`pDhM9e0vMG+{BeOb-~+ja(@?o=e81mviINRsTUMYl3V$G~A^9YB1U;HR^$IIPBjz>KbLSJ+B76UdknQ$&AE!8}`XAIh}wb)U5ZKcnkD!QisbjP3A``}OcyDs#V8 zraS0a7IGh(Y$?=z){-!uknTR?F)7UtJ{W$QihZPQvG%Sp?hKyYykJ|VebLV8(GNCO z1L4Vo{>Bkc;Vm(lyxEG?>Gox}5pk7nbUo%4Ca&P!=xwO9#~MALe$-OH)Xr|jwzf?t zo@vpeDS>+@9%lEZ)658V-t0;Fe%jlG_2>1y-4VA7jJEMSeXHj~YkYJ&9BUt*-A~*n z8A+a?&Bz@0|KAn!e<%S0AOHd&00JNY0w4eaAOHd&00O&80N?-LRlLX?1V8`;KmY_l z00ck)1V8`;KmY{p3Idq_-xX$n5+DEqAOHd&00JNY0w4eaAOHd&u&V@u!=Lm8eN(>B zxAyH1`GfiH&kuh8z<(A#)$^r*-#0aIrN7=^-%5cua_cjJ@ZrP$e^7C5&B*DREEzXj z8gE}R?+3}JpPk9jJyh&|72^!upJ3eO%I-0zB$sZ@}~Fg%}CYdy0lDpfHvnaxgu4oa=F$~r4G0MPRUoL zdRgx%Hmzz!xeYwCqVAhP+A%&E8F^OGYYVcrDBZ|Ol~s24YKtMJGSlg$nS3Nl$rqHH za+yl4NTifg%g9Jt*QMf$Tv||w?50_;TaMVmxH21mDU>C%=@8E}XCA~q*J7CK0}Wpv3jkJ@tvtqaFyVG-%8V! zkWPAomFwJQ0jr^`e=ra}aKOJ|Jl!Cz=}JvEUT3}jW*pp+w^<@vL~*w<=pitMlw*@^ zg&)U&o$oMh^sLVY!sieB8>g&Wh+Sj9rjFEo#suNIBi|V^Hi^0JWVVKeZSG}0y`Bn$ zUyA!1mn}tDBWFIfD6f`jpirSl<`md5Lk+b~qpEDFO`<1SbZe8SH77&OHc6SYw3ItC zx)EPb2Ey^U|Bav>o0`;ZlUd5^L2Xj($er5CZ{b_KGVLE!GNTrya{E)Q1X`N2F`#X7 z-8LFFvv2;~+N@g(_craO^P4sA^=H=O{9#_^qi1YUHstkuc(Bz}-1W@c@psnyx+J$_ zp0;t+D6why(k^g%s$sN7ru4R>hFQaoT@cMVmGBvQ@WG(fR_*E)nD^M9j+zLU=CUs= zWyoQsGM6GF*-I{+3~%EP?qCtbDw-c2eRciOKsZeW9r6^^+$We1SYU?-S{grBrd7ff zmDowf2!H?xfB*=900@8p2!H?xfB*>WeFAL$KhVA48~#6nwV-e4&4EAb zyWZCwSnpow{qo+g9clmqAaExMydK&(83>D_|IIAFWpTD%Q;IJtC0VuZX=*+40qRCM)-XjaVijgLG(A$ z_AP$4U>j}dR=<|hS6c44YfaNs3x2<0OGZplN0i?KxN)NC9zgR(a9Nkgw}<(< zSZmS9d)^i^?n3mQWLg+Um%3d@x}0-jNABhpd%LdY z_GEfkgOl|xacX;?y{lB`j%U_9yryX}ik)~fyXYHzf$-DeuErx)kk09AbVIqWJe(aV}KnolvpxW`J$q#vXO|Y6iw)#g) zIqjOT6~{Jn8G6pbYk~0o{r+1;W2{NYnMG<|jO-9)vwez&z#W6w#)0T2KI5C8!X009sH z0T2KI5CDNYPXO2d?>uvq2m&Ag0w4eaAOHd&00JNY0w4eacbWj^|96@=$^!uq009sH z0T2KI5C8!X009sHfjdut&Hv|opZ0}*KlJmVZwtK~N`wZ6zc~Eq;hV#Y!;c03I{53s zj|I;M!$ZG6^qHZ?&*S_^`3v(^Rb@GJ!1D?b$_;d zqx*dKu<%9Udxes4yz4K!ezEJVuJc_1|G)MBwEu>G#{aPI4}G70a!#m+W6_uxO++We zSbQRuEG)`3Sue~eS2RgmTafgX8L6h{ic;0JH%e{dboBJZ*sO5Pk{%bucrrR(n4+Dr zblH{E+HS(!c!3L^nGxP&3690$@iB3%U~Ko*v^_&%`T`diy&%lH1fua|yg=KBHKpcB zQ_l;ElT?gFqj4*5XO|UQDZU{Wmphadp0?%0L|lv|Tt)CC@#lo1lSGV16Lx*)wbd0O zbY8A%a$Z`_>GhJLa-pZr3u~58A{I-I#V2fibSJXCw2NWiy_|nT&%wA;!eR{Y%CU!rQ*z`D(ZD|3U_@c z)skE^M8=;LDwc>Sim_zeu&!gTHvVK-B<)y46r)LUL8E4BQ7W6&bIBUTJ^hUE0i(Eh zT#Qb{;)$50VTTH)nKik>ywup!g5+c{o=A}&wBni8q>4K~|t0vMRaaid?Ff<*Y7O3X}Dku2vkMo_JDF zO+{l9;zV3bid@l!vb3hw^>nqkqH2Yyy2iJ{nyr_0g?x|~JAT%(Njx?lW9=d8jSQB< z7*@^cq;nu7>&nxp_9}=s&aWjldsB}CYNTUD(%6wEHkcL@bL*DYiUch zjK^YQT#&nstANrl>@%Hx zY^g_8h*P*X>|sm0d?#Bi$u|u#(GfF+dDpTa%WCh;Wi$fpmN5N2`l28ZD6imxgu-% zwN=CM6US`_ic(ukPQ+4nVNMU>suV9KK5E6jIF}krrkv(t_9}dPP%~b0p(l^ouEdxp zScl&dx}KA?(hW(I)5Rh=q7fXp^y#C*Wz)Fi=TR}~YI$s=uqdyVrJ`Js&DeG9abea- zA7eozYR4|CK}=IW!gD@(L|C#@vPeZv+UgBUdXc9deatc>AhanPhx zD@rBVaKCuOG8ofZB=&X};O-fjoyjC}iEA`*&Aw>_*sf_Bn2Ehsn-?RsvlP%zTa_$6h(CE><9yQ;Q4aN3ICa@uIP&CKc^qGT3;-d zVr?&JkE}>&wxy8h0}g9SPqj>1_IFC~sCD9gA!pS&MLk8_k!a06d7srmFm;$a+wNr` zCtu90DmCifjd*9Yg46rlwGa~tbI4{!Eat%;ou)$F4Z%^04f4c7)8NOfmeU{dOiVj* z;OB;g8}3Y4Yi-VC6Y/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 literal 0 HcmV?d00001 diff --git a/ErsatzTV/Services/RunOnce/DatabaseMigratorService.cs b/ErsatzTV/Services/RunOnce/DatabaseMigratorService.cs index d96e22c45..8700eee2a 100644 --- a/ErsatzTV/Services/RunOnce/DatabaseMigratorService.cs +++ b/ErsatzTV/Services/RunOnce/DatabaseMigratorService.cs @@ -1,4 +1,5 @@ -using Dapper; +using System.Reflection; +using Dapper; using ErsatzTV.Core; using ErsatzTV.Infrastructure.Data; using Microsoft.Data.Sqlite; @@ -26,11 +27,24 @@ public class DatabaseMigratorService : BackgroundService { await Task.Yield(); - _logger.LogInformation("Applying database migrations"); - using IServiceScope scope = _serviceScopeFactory.CreateScope(); await using TvContext dbContext = scope.ServiceProvider.GetRequiredService(); + // extract empty database to speed up initial startup + if (TvContext.IsSqlite && !File.Exists(FileSystemLayout.DatabasePath)) + { + _logger.LogInformation("Extracting empty database to {DatabasePath}", FileSystemLayout.DatabasePath); + await using Stream resource = typeof(ResourceExtractorService).GetTypeInfo().Assembly + .GetManifestResourceStream("ErsatzTV.Resources.empty.sqlite3"); + if (resource != null) + { + await using FileStream fs = File.Create(FileSystemLayout.DatabasePath); + await resource.CopyToAsync(fs, stoppingToken); + } + } + + _logger.LogInformation("Applying database migrations"); + if (TvContext.IsSqlite) { int count = await dbContext.Connection.ExecuteScalarAsync(