From faaf66743963020b5cfdca76b13d38cba1a664d3 Mon Sep 17 00:00:00 2001 From: Kim Santiago <31145923+kisantia@users.noreply.github.com> Date: Thu, 27 May 2021 10:03:33 -0700 Subject: [PATCH] Add DW master.dacpac (#15559) * add DW master.dacpac * add missing awaits in tests * use ternary * only show master in system db dropdown for dw --- .../SystemDacpacs/AzureDw/master.dacpac | Bin 0 -> 26036 bytes .../src/common/constants.ts | 3 ++ .../src/dialogs/addDatabaseReferenceDialog.ts | 4 +-- .../src/models/project.ts | 30 +++++++++++------- .../src/test/project.test.ts | 19 ++++++++--- 5 files changed, 39 insertions(+), 17 deletions(-) create mode 100644 extensions/sql-database-projects/BuildDirectory/SystemDacpacs/AzureDw/master.dacpac diff --git a/extensions/sql-database-projects/BuildDirectory/SystemDacpacs/AzureDw/master.dacpac b/extensions/sql-database-projects/BuildDirectory/SystemDacpacs/AzureDw/master.dacpac new file mode 100644 index 0000000000000000000000000000000000000000..689f2c504401af055ab01084c36acda89870a4d5 GIT binary patch literal 26036 zcmV)UK(N11O9KQH000080Q6;3PDn(U=CNS_0F*`u00{sb0Bvt%Wo#~ZZEPT-7yu}s z6aWAK00000000000000000000008a1X_Fi`mM!@CjoJJMnZ7@2t6plXdfu=|s+!gm zspg{YGFh7&!W|KTO5X@~&t&M=4=#KOUt^(!bDfd+ATc8{BhGQ);%>OO_{;zKl*C`% zOI@fe{kN~bd-CnqU&%DgB9-p`?dz)C{_lVN`v3gD|M&m(m*=7s@4~%I#7|iyAma zT*$A#G7py)|MvC1Ec5^8n{NvHjm49sqY-AwH^oQur`im`H<1Xxc_+0JvHHz^={Mhh z``!27eEa>^W(5A%U+ja^Pyg#LFJhU36~3WGc0YgJ(Z~7d(3zJbm}|SKrKk&CBAcdC=EY96y&^ zQN`t(;}^cymAv4C#dRO~FQHQ-5!ZZ5t8)Kzlj$qSJ=`crHf2AgZVBrzx`XBZA5(W!&YVXA&*2U-<4)Ei&BOCp=yM2@#F6^o&GF# z()^;7A<4(ZAAT#t%!uxRWV8FocZ+{cC}wS{?eGIXoFMm$(2)#PBI0*trp@Q;Re#0f zJ==?PC*Nxk-WeI9v3eFukyiP|-!c4#x3V;A&y3Q~=1H=s`;Kp~{rrbimEEWR_wuNb zu6tK%DU#<(n+eMFfqv0_bn%1lh2F`soul_Ekt53gyv+GOEAtT=a`{{q1~wwmk{3Me z@q^DqURGLOIMv6`{TNrp{$*Mkt=L-wmmszudL`3cxxeb8KZ#F`fW1?{UH6>kqd&(Y zEzIEBH?R7z8P-_Zm+$vl7W*u|M4}Aj^DH+@;hmY>G!hqqzLGl;9-f&6rBY*K%EJqz zDH3ZCX20q5qWD>8^RF52cd6QLja+~3=RO15ju+Xw#LSic_pIEiPqH}wMSuCGv78HL z^cN)`zHTsnefj#wH*bG>`u^pc*TK7I|Ni2qr~mWhSM%?){|KJFdHwGF+ovyIzkl~X zt*w14Yuj4vRerR$Rnl2wgO`^2(7c#If0iYARm!OT*tI;&d)=$x+0*w=U%mO;|8yfr zkKRKEQfdBf1x#K){pkfCkNUk=Pd~g{B=MJT`a-lUSG8-pAXabXR%+uz%i^mSpUg5d zOZ{C|>Ck-cua%0+mqs8@u)l`d(=^RW`(`svwc8ROtPd0YfvfJ#s}DcD4xYdH$qZ-k z;oZ}}z2I7RGfbZR+Ps9Wx>H1uYwi>e+=`oJ@&4&wU%gnttkgW%C#9yrJSWY&r&xG3 zczQ&Ce*5y5m#<#@?FF0jG2!v#*T21e`uhEww@AsF;=h1O_5hzv*UYfMYnmAnXgxEa zaDkR_&Y^n|y#M>pd^BFZ3+&pUN%0!@votQRp5@doj5>u)lkn*eLVol1`ODW&Uj;wE zdH0h3hUdYbzxeU#hga{x;6_!w{_yJ6DNW@F`MFtHXf<7D1)jcr`t1FSx4}!{`7)v3XXF4?gcoBxxj(N>!`FPY|`!{-_Q4xVA`*>Z_JaF$WOAZO^~ zl*LgzZvE6A9B-0*o()eNbD9fO)K60ZDw`!D__$}83D0KcC4^QXGZ$`bdX;&8Wb5U( z5{=m>!>lmpsPM@C91{*DHRQpsqZawBVVb;#`h6OzjRe?>jb@0j3I91RK*2vp1*V{8 zi7>>Gr+9GB3%Vj@mc+|Nx>GZ_+Gr;F$xSO`0PCp8e7j_`vA(_j?3YfA;F)R-@5C((@OCN$WB>(fktYW6e{n6jOrfltUTlHi>W za1wS_BCwlPGZZeZ*7GWOVN8EEPSj5?j2FcfO7{pn`Ssn;#*Y7Jyb0v`o@W4D-17ur z%W446QvNz%(7gzLdh?uN1YW)i-oAK;D!v^+KYbUxdSgT%bc|zDue;YF~zS)1}&#pF$C ztzZt#Uq1Wy;LXpl%+QJP`I≻Oz&H`?<{I`HNRC&M@(|W@%L4e0XpCq=2{2!-_~Jky`$9}fp!-8i8DO)-GtN@NM!rSo9C&o(VsmzHo`2xUW%ST_rn~{? znDGzKS^V1;nrFNTnPae7vI1*K2dpCxz#ctthYh^(!YYF6HAL0?;WT?HY$Z7`*5ns| z){Cb?Y!005@onuBqa)Pe^QfT?osuX^F`2ur@WG2e}>zn8BCvUNB-6edZmKePFZ=-K%r1{^iXxbe)Ke{ocMXZvSFGHCM2&%!mh1Ul|SLd%0b`IaUAg{wdSuR0nUQr}md| zCcKB;=rcy>H~;k-@!DF0q9$Ew>H*EHWs=32i;+*2#oua<=|{N?3~|5`&++9{9r zJ>U{rBmrDZiyUCfYK{S3oh`Fqo(!;(o1<{SF=4OpPK_u34SW+CTd zpQJdgABsa^M$3Fj5Y}tny;_(;KKV7<{6mIiprSuoNany&^D6{S{S)Y+%zLFwg3^2x zgjf|)Bk>aPDTrmdEB6SrT+2`uM*bm_7m64qlJ%+%P>VnnL0TEm4dww2oJb25=_;03 zL^GX5E_8u1A&uu&NQmU@WGXeSj6lQ>;!s$piVZl3WDz3JP0*wdxm_%%2OdFkJgSIy znO5aKfq7t!F!wmz$pdKN&SOWS6dO@Uq!YSV#vz0_^JHd4afdN!}xGL)ex2+MGtLUrtZFF~X7 zTmyW3s_O#yi?Ush+@qzYfY{jnCI?kdrE0lmI8N zAFGVE8tT34t&$prehe%(S(Ui6Y@sk~xS~$vIwRjW{ZjHHe>G<|>vs`?vWMHCGL0%{Zv`WpChIdp_R1`AV#C81Z9{fR- z`@mwG2Y2gw^<;_EfbsXVZcMxV9R#`5!VdH15QGsx$G8W^b>Sb_L8| z91)%Rdwm#y7uJXCR0squjJ3;L)!)Bi#*149~Dm#QF?L~GmOoTcv$1s?lauu!V;TP=qodu zUI`p*9u%(vYE*zTc7%cy4vj$pg+r6)bexbI8bnIO*$xC>RMKVgc1E59<9C@SG#+2F zakZm2f-OLzT$E<<>;f2EWqm6Mmi&|}?J{jU8A@S91qN5{jWm+#!;GdV&A+AHgoNrj z{}bz7sI#nT-h|CdDy zP}gbhIZU_dulc8Rod=tsLK9+_p*u|*O(=j;Wan_%9vYK0TM9j4*|Q4?K+|tj6OcaDwvcMm(uQ3k#%0-hko{Ng*8Tv{;ksUaFsG627}jwO@c_QvViN{RXL68 zeU?+I&+hxcm0pedv4zU_heCzaKm&(a zlU&pd=!M6%+n45v<7^jfs_oWQv!Drl;{?ZrqeTDIV(Bag!gZ?!jrpJz zc3jogI>0ubvcKWP26}f>@KV8?1rz9GLEXOzDPJAvHq&>=!M4y%KnH%{1{M9pO$VtH z59`BM862+;!3VK@Y-7;eHKsjG)Rq8C3ic8j^n+;2~Fi9~ZIc$9NDk)(34Xw3~ip z=()x10S#brTR;QY>>;I|y<7tAtXJ?nT-Ux|XRZ!O%>#?7+*3T-T<3~j$20J3%Q_b6 zt`a+!#j6(*h(oOO8QYsZw6(lO2=7Hq_w3TbZ)WB?1OLdJjgOVohoCTCw`{KJ#d{rd z97wVXrOkvQ+|&ygAeQz#4H1@=u_1ip&?mq*43zD)31;&{;p*Je84h8kZJ$qipOhW# zy9LRHh08XsihZC=#IEmYc4U~Pk?V}iJe7__edaw#R9e}aR2aC}?a&oWk6A5o`@3?l zWwFoV$atd5CcycyGx3(#!{qJ&NnU# zT=)j(L8#JNo`PR!7Pzd#GYCW!*#pTGZl>GJJH5+JF9oVWBI&Lmytg|5H*O8R1ZE0G z@byprF5?R&r?B6|T0lQT0g|ho#RUrPEIzWT{yYJRD6U_k0m`q=!sGI+v+%fz`%~~< zbDq$ga6O69iUZ+rt%0nAZl^qeVrCDiaS@#FDnRv^1v7tWL~)~HqqT!r-b+Vq&xWAx z``GpIZ2v!#ltR6Pk*=*k{HO zDzZk!p+so`8LWehJxNqan~)tL#Cp{-%ZzCoohqfUTvVB!R- zHZ!$1RHqz~)@A@~B7EH{6(or&k9eMb04$0_8p7bI?JxBk4!Vw-U|`%xw;hhjMjLD(as>@M)D8of!r?tI`Pi;2*1utZ$u&+bR=_ zfPjrjtaPF7Wl(Ch+er!FiXT9`M%4b16TSIPcbg+FNBG zj6ClTr~!^PLAVzx1uDs0X!G0BEaBg3S9+W25H!MxC=9S|$9b&i+n6YdP6|6ds@v(1 z-cBoM#NGBrp9G0+yTFg96w&^DylPZo^zg>`au}JhF5-hR^Fe)z5fJg31))M2Y;<;K z7L5CIn$43ocrdL?=k&F#jBTUh3p5@s+_M2km}%W?j=9P~|Y4|uR%0S+m@1p{cYB`(Z z7jcx(5NY6Gg zHt1f4Zd(LN8&ObXh*|Fo(v%T-!Jam945B)fA zvcB{Og$IiAj?d@X?i{6ZZ?kGBxJZ`9dGL9SW$pV(hE!dU$`E^-zydsOtxb`eR{%ve z#coboxowuRh)#E-)HOWt2M=RqzJ_78&-vS4H`qaIOc9G>=&*4XaRiH0MtxZKIkE|4 zwV_TF7~MB~R7A>X3`XuNTkOw7~rt7eG9<2akf)Vn-rgd#aNRb zY;z&dslr(&xb2a15!QFNK*52bQV&(+IbN)MaCXk9>_wDid0@Uw3y#dq6d$H?=b%BA zB6HB)3zz4XFM)TyO6TAckyEL`PP^+^e@ft@irU(o!S~uC&cZv}BMYr2dce(%Y>t(~ z01)Ku4ltc7fdN``Xqg4nxxN{If{e>7rgQ&xfGWa|mC}H`)NrjhZ2mt3*YNJNoym#D?EZGa1EXbpkWa(7~n(l1;)PRGVR&DJjY zA$Rh?vZ9yC;4;={iS*uaZ;Q^dao@A#LLz3h$&_NAHIQ-NQsqJ-g)CRV!sv^X8uzgi zp%&~S-jPSOPxz?-&JJFxPBI;o`zqN`M=Q6v;%gW|+?`Wga%qgI?V6M1vE&xt3*1fb zRy3oyX*(U&mmcWsA*fqQcbT!~j(H|e;|hN6o7;UpGn-3ZBe7iQQq}q1%3+h#&nI~N z?FvV)p4K81DPZ^Ta|o`OS|rI*1ogSBHIL!(w>IVUMUb?)@h^v|N`nND+_;vhEGtbO zIsMs62eYLpb~_W=)fb7ZnrQte>m&)yQ(mhsFFVoi9out*+x5y`qgOj3w-%RnLTeTN z?1a^-oY@Jx)p)WKX2umOMe}F-Y_mRbgJp29q~x;q^=I;`3-hUG$GUjc?tZjFX4JKn zJW$(VWnI*a#ZTyZ`NHubzTZP^jcb64YHLG4_n8|AZF|??c7pyWt}7hey(ofvX$);H zKDIagxbJCrHO*$5YjwQpoj|~msq2~1HPUM&wwADLYSVm7c4bVqr4y1xEYUb!&K!M??ej}1{~NYoyzy}}HbCYmAAT%bnR*nOgV%+|oEO4rEB_ya{T;!ITGM>^Be_iYI%-dl>LOqlV9yyux309BvfI%+$5t*lFTpJXrQg$3X*q2;{L1) zm_Tl|x?~k&FS@#b5#+}93wVI8ald3qL+^IKWEmlDU%$|UaDMUpC5stxdD`VZjPpy| zuXJ42z{kf`7spjL<+Bmt9UYZ3X6hf=CNRpd;z?94voXfYDChbGV(Fb?LO(;+|0xpK z9N8%*U0v39Ya#OeT8R9x79xLQCQ=*C(EJ@Uk?!6SOh9{@N(s5C?>rNgVlJvW&jh*; zbBc&}A%4FL!I+;t$H_)~=2ap-QA>7CVe4fHYVU?$B@9z2t70V6XjOc+CQ3JipxtyY zW|ftDsnFKGB}t2kaSyQs=z6(YOiUO=%)DT@0Yrup&Zlt{y`gp&6u zuJb8EVV*Jy@>sy{@Lgg-`PuMJmN@@(1h3`RE_;|nkMOHPvf`r~T+VSwWRjW4tqHDi z6?Ai4>`TK08PAR=@S@Yd!Cs^hWT#}7L6*h9fOU*6jH)k#6%2#7Zr542EKQC6Q1}b# z7f5hqUxxTeR#5jad;JzSm*y2}Pk4qwDh)by)Xg&ubMuE3a-Ee~Xw(~2!Ov4@`ttFx zkZF`>Dh1W_%@VLT!`UXqT!SF0avv0=o4Hm5nHRC$s`SM5*p4YwwpVzB^YFR*5hlwND>9J81s!|L@hHPQ;ImNFKQ`tci<$=SP#j;e zS*a!%Spk!QEBP@-hepFu@sZJ0k&&$+jw;Q*fjB0@Qgt&Wfoz1dKmi#K%%h`j6Iq~u z*C|sD3^|`Ei6#q#43noMtY1jKtIx~uk~#8#ZqUsv6I<^8km)$T)HUt2NIA1^b7VMb6Xtn9o4cGE4@$dKu>>7OKEWi)5O*D1FeOMcG|$BT zumT>5$bPShPyKF~6|hX|JP%scSyh7C{+txv zru9Q%9Fu%cx0G_5fcl&RH;V_M${^Db8X{12c@0=SJ+dTny4rZPS z!-my@^90|$TQZBV`>9V&3$}oLanTfs32&HLPm0V#D4icR4c>;gpY1O98LfA5vgEI4~r_ zbZB5mg6+V-%%rfhU^*x;BEfS=U`{M}YR_jRV+}<34hBr+V+}kw4+PAJ$Qp?79R!$) z$QpPs9soEYA%nXb?@G{^#`!N?Bu+!i=^Dz|*eirqs zy(spa_)X-@MWS9GblD!`y5NJS^}vX3)&U=SFQvAc>$#BL%z+YEiJ8!z+-774RUTSObl=JaY}=QJ40vKt9$$ zgal+2JdA{_fk)#~x3#0%u_s~s9hwN`PSbPjuSoH8WbfdINcMSKS^;p!cLk_rJ z{}XH;onKcVb3c50Foyx(cv5M7`J4#xRq10QW+1A#H0qa)Mt>-{^ijRZZkrL{jgZv# zDjnmK|ENUJk<^9+`oKniHu8!Kny)yn?;0^QpX`r;DDKereGOtEU`nuW z6rk1HeRIfB9^9XA(tOAZ_Xe&&x~s&F$@iAQHq%Dyv7sxC>$}(k|5#txI_40`tsv)%3;#jr)Wkt-__?t&2A@*| zc#=zN=LCHSWdaUA zfij<Bjf7d`+87l5yvuSX?!|R2lei5P=s3LW&10hsZfQ@6eiS6jb%=D zk~3%PH}|jG+;4VP7&rGj1{|CFJ#fnJU~{QG@IBqso(dN1TxZ6wO1R+dqubl7ih^h6 z!&s38y_cHa;Ul1^nekSHl4~joyO=xiJ;`K<#G|DrTBE9v#&a00()$szp!f%NQ z)p{}UfNrn#aIyP}BeMtJSM1@NfYDl?#s%Zh1L&R2f!JerHha(vJDU@9^orS zoy|ci3ca)012+S{Q#Osyng;1;u;xSRQ;JncF5$MaWLS(;eZW6m0h1{S4#kb$@f~`M z=uz^uUb3wQg^Han?N03fYXn&Cu#zPG6xJRV<1v87jz+_YtC08OaHm5~aVhwzbM@3dZ z#=L^nE1e<%J4}3jB!XO&h$^y0Cf<@>V@dCoE-Mou8P`WL-ZnPRq~|DuVz;wAAU^UE z3;TkVK_SRS8N1EMA*~Xl@L-!fXJ~8=r7SENMlR-k^J84^eDTgsN5v@QN=7SS)Jzm? zSMnl(AvUE%Bwx->lpUCL3C)TqaVlH&n+!}e5UJv>78`EcgLHOhS$OB}V&^U^f=#vE zQs^e@YWhs`ICt|*&`#A73!GE6#K0E%^D{tg6fTi4OCSsDJtb&fg`xypH&ym^N`J$a5qXuLcd4@EF5H|4XJbd+WzA*J=R47_2u$}q%L zQPL4edV|d@3`jir^|kr;HEv~(&|$|i7qRgk;h2XB)LQq?7$V3qkr@_#DPOacBUR+0 zG|yT4&TOlB!o&Q@@GW35&O9Gns%{1x=d+xi31G7DG?DrW#?{biPN85n6wk7uUhEVI z@D7jNX$@kT?jYq_^CY}E_&js40!y$WBVhGEwuScuADD<70^6G%qAppBC(wG8s+0*U z5h75uu`_CeXh>lzj4lIqe3%gM3iTR=O8v6fRA~*~H0^?Ft`-^RGq;F1N4Z6mX;V^0 z2BJXvTrC4S)^;!X@S9^L)FUEW0Re0k!DtegMxf~o(R5i3!dPmsv(hs0_Td`)5R+kL zJQXpbKu5UgRTvAD+zjE{$hAFfgIr5fCf3P<#q>jbx_FnHgI~+ntmQ`cZgh6X7(b6# zm`S9#8MWCsK_9#UEO(p`Io5s_u&R_ZB!b)w39PtoDi~TuDkQII6=PEhy_4lSxNNJk z(sCVKvU^FL^MhC=#u~8Eu)ST3Dpgw*0uwM(sr5GLdYcpq^QgwFqi$7n!iL*AP5GE0 z&b|kYSx&IQgTV4+fKS;bDqe4|#9(bP|=G$XSDMqVR-wnlCya}^4?<-)Izk4%`<@sR+N zHa-%dpAM^-i<$|zci=J|X8qSALWMgT(v*CegzYN>-V$HZ9?kt##eMRm3ikS%<0@ zv_nMAWN2tMvV4%zS|Q$rW7!mnj@{Px0u;P+m22ZVZ&XZoMcC$!+=T8$Trm%c50O4M zM53GQgOcv;UPqYJ=ffW=4cRb-OG6S&A=8Ki{eWzPc7n^M3hyMg!tMe#%<-?bT`)T%wACF$!K5p&}G%U-ky{Hn z@4W;l-|1-B zZ3X5-AV)ghTe{v`vI8dUWvaXf6&Lx~o1m!;XohN-eS!+rm6mcHT&ywzp5;6_EP|uJ zc8*GY^~*ZAc#ZU#8fgt$h&g^}DYOoAW9gf_6u3OZ)2!GW#g-NoZ5#Byo5pdxucgBh z`nBNe2r1^-unS6Lg~K+}QteWH z;b_h(b14n)G+ggA)FoxyZbQpr4V7+3E=`!uO`Ge;h#>r2<8Uo9W>b4JB0dGHPz)=`>&}QsQHqdf)9^^9pjKV> zhLr|o9d$@8m8}SkxH9o*o4LUoQ%;!3PjpQL^=EAIZ=7Vj z`~Dg3JL~Nf0}h>=fNw}X;=yqo1AiOF2pH}jcC&6=5qnpy`9`Kw*DaNm&}dtz7}t!o z?~K3e;d2x#>n=*0%7TVk1JL6&s#tKwyw8XNL&agsKxLG}rJmj7q&{St>Owfjf<+FQ zwip)o7J!<&6ND&cX3+F)Z)A{z03DmiL=+e`Pxnz`(J9HKgZge8K2gl2PDENUfxn^Fm(uI;;zciF=`9+iQW1m=*N;QZAq`JE75N zqpDP~`mNqHHdZJ!2!i zZ@xg6d)w78WK1j;tToRdY+N zs8eK>Y+wns-k^MpZ6S~D-CP~8`3ZAu;3T?Ie_R#j5<2iOSl?r5N-d18NM+oL1RIU2 zpe4&hqP{ZB#ygzYJc7{qjUwFB@eh^-F-L-DIErjr8Z|A9loav=$09tF zM(}CLE7Ov^r$%}V+Py-~jMYp<_A2N!BV#M*6|jhZX-s&Dm=~o?n(Mz<7&Ng7jYCwo zJ>sO1W+^w5W=i&Iw{I6pp>}kYJMg&p9HTgUSQnv|47l6MfQq-0*H}qgm&#=zYw)Jf z3R+qcaViu-6WOW_oe~nIfX{pFOzcGpJ1Bnym-iF|@L)4_!#EOP z3H(M9*9O~M_D#lHE^L<8ragEce_j!Pj@x@hRg!ZBqqAHnf3%|r0q?J#=5y?^w`OW) zF_tpKRd$^w#!#<+h7fKa;xv)AUC6rT3s?8Ez{4x^Ym_;;+`K27dkpI9$$%m>!DhJ{ zZDs_J#ohyWdrF3vLQ^Ec%)+aYYt=}%b~rW3k;HI8V|}eL6Z9tT7@uV`cWye2k#4H> zk&Al50&8LV@ZDV|tn#>_yxKaJMn{EvjdVm-u~<4eq53?na-4fVX5tOuRfe!WVa#R% z8+e|K<`EsaJAFh|bjZBz^~wNl^SBJSg+lF;3}96ngrQNFp+u^u!GH@ol)%YArG=u? zR-z2|JX4TU8>+TIw7b7iXH^O7^L(TbN5|CC{1Wdy~=e0Tx%I z-Y;oNI3%=D{E_XO1x(1VRfP$q3T)H93#hSN z1#tndx^D)uoyjGn%$HF^k(JRRN0vD4v~es~!>X37juy)2yPg>>#;jTu!{!E`H4fgG z+FHb|BSaxBuz~I+)J)K~QkAhLPEFtMm9ZktkZoI5YmzG3Tr+mNxfpsSq>QMqkCYjy zX8zX2>!=r2#VZu~`X+JgsP?XGU5n4^1Ki&c;8LEzUSer;6KjcZ$E=?GYJcF0ai?_H zg4`(;&ftH_W<4?Ylv}OK+7?E9KE)CPlI% z=Ax#=$WiO2)m}}8I&*RfJ6o1)Z*D5?Ryd#bCKtQUyk>6en$k`U)4rW?aufC2T9<24 zZ7f4-{Tz!l*vVAtwUX5`s=|Jrc04R z?xMMbP&=c&V85PR&gl9y&CbLX64ChiDti49Y!mnEp;-rqy@k9MgF=*|46)^Z2^+cH z%4Qp3RlL@hW15Mw&nKByrs1fFS8BDmMtx4K9_!K!TF{u-A{BYD&q~{5%yxpI-xk6) z@!(00T|v*Rq~lABpnf*Hf~42T4XD)oDxRTjBDrdc&@;JLF{4v&&EKqz+E!_!FS|cm z^Zb%hH=5thakv*Mr9YrIAhpw1QEd(|eJON}>dt8wzV)=TG(z|oS8?<^TAyXTS7oc$ zWSK`?K$}+=j>bmr6s%|Xg`7Y~b1r04We@8igE}mB1szB~gRA&_&r2vO!!^uPOM`oU zh=(fLt+!a-L+;=`L5QwLEJ`g!60FHCc(>y^x1)&@OS<=x&)*oZ=z>>B3Um(t6a4}w z$@5PiZxAgsOyjByuP3Qx9;?tu-ukK1ctY=n z{5=%4q&s_8Pt%^IHs4uFnCtXA2XxJBYtt9w(pJ}vCHeDfC6`cxH=}}VnnK*mJX7g< z*|r(dmC~~_t+P1Z(0#gVWtmbdGRsBHUZ^S!D(a1Mw)pO*`5c(9B~Q`nwCn$*r>^Q?&)8ymBZ(RHik zvEkI1My$3HnTVN80=&R_%m9De(SkhG|MD@&9#W}US7gnAdjxhBHv{`_E0`XD`10{Q&f~qKk8vg z1vewQCmvSVx=f>nTfsBhna@as)P4dA->*{U1!P4EborDHH}s>rmG}R@nP9u zU*w{*he9IbhD9b~x6^WGb1ThGVJy>Kxu;9|><$e(L%$#|SddxKbiP5aydE&F5ySwr z>G*?$Y;G-qVmd#VIC?^rIlpIafC%b{ImUEcn=^oGu5=WIV~=>aJZuA*<2^h5Gu~(x zHZHh?fLG{sqdgMPBKU+pK{Wz5;pM$_?3m9(y4J80)cTrH_lsi!49c}kA2_eDfQ^%a zgnTfT%&{XoozIVPK)Vy**^Cvf8jH5$qsbLyxobh-rif37Do&iHMiRPl^baMwsAeX{;+C!P0ngbF47=*zBC` zIuu5AZ!@&rYGJ#p%jy8hv35J6swkFl(5AyG&7^wZJ>HRwl$Vm8l7XVdLv z$zWM3%1keB@_G$t^F4Mu3asOLz&LMp0BT=2Plya4>5h`_5>Ff~?xNoTY@v2$Er6fZ z_%wMesc;$mv}fnlD;tgsH!`se&S%5Y*y!vvI%y5gRl`%%@XRzWA$@5c`VlK%X{e@= zF^IXQLXJ{Nm=2zUrgFp+33F$F_EatsH4*=Cm>yifR4E+OoqC?fyBBfgovitFPE>7! zsG#1Qg0A!_cwJE0ymTs-bJ%VLa}Kes7sH~GKjv7wEx}?DyDis5q+(ZhS78|MP|L`C zi!#4Ki*$Ed886$#Ug*e-yvs8LizA+;sjQm;WO?Z>DZPZBSH(Wc9v0=yTb$~h>jwqsBWn5z0r&73;giru7QOZn+~hV#yYpB9bj(sd#G}Ro84g+R#=e_DeTo!@WBOm z3j-`ffZ72z=k+6J+2<)_VhqIg0EJXVkQ4#wn%q_K^DJmyZDLjIp_t9OghSJgeQ5vG ztWAei=2K*YRRkg}RFGD2>^k7>V4(@S4iy@(b*P~9QHQ6c5fMn9g#BM>8!$a zY3L!kjEM#?wV`y{+I@iMPMb|&94fE@mMYvPvBqG9!^`9bSltVUHxLW}>E^s6C9J;mTH#ovzt z@D#|U8$3jFp06I^IZsxP@Bo?WDWc4FCtS7k6UD+8#cV7AonB$0b2C)%+>-Pa+>pStlptPx7-{%B_%(V=a zyCSx^2@ORI71&w@INXt%fh9+wGRPa?qpGGXAs12P$~l>b)!75()6IKG)b?E@rp<1b zCMtBaTd^>{jhl;|)zmDSg6@c@Hgs+328*6Zy_2qEwt48N=&jozhT47w7&jIL8WNcpn1>IWk03FNT<8Ki z$W0JXNSuypt{63|N5l`}P&lk1yA<7F0$_%MiOKaLcU(Sq9+&N*MZBXvBKrjE$2X$h zBVyC5xCK5>0C3!Re(CR(i7lWiH4()fP@(R$$oF9F(m|eFU5`1xXSXxZ$-M!n`^?@5 z&g~Y?Jeuq5-Ut*7M~X9}nrz`JO)&yAj+t5NwmAY4R@E()WNL+dWl$YWw>9qW?g4@x z+$~rL1b26LJHa8y!QGwU7Cbn?-CYk32X_b-F3(}5W`0cXs_CxXHM@83 zwbt0wgj%2R*D7o+6|Lo6o|O*zK5_+zZNTc-)yNVpf;gX`Xp}&|^N|K6Vl`5Qx}Q5i z98f$E<^`;FHmi^YUFABI`BTWeT!ZEoIz)3y+qo*mBc@eDy^r;iRW(^y@R4if56rz^ z;ucU%VtYERX~ifxBrgO%4WSb1I)A~d{qT3oxI2!I;Tfk`h1CMaD)z)~yVfNUb#&JH zh)lLEp%G+D6x{GKX@qAKl3C2Pgm~W~9oklvxuPyJ9Z_+xk1MnhW>$=UZwr~zno#hY zX=C}#!ve^2M?0Cd$Tk(Y4=xQnube1Nk42rdqQFsg6CLn4%%3t7aGx&?oQ#?(jh{Su zzXjsl>L?GTz&E6)f4cqXjw{`Qo^_b_=XM{v-gTiBpC;bb&fpb|W=5IA#$wH8bJd_yKsu@~+hOeHpg z@>2=A+PxRfn(cB(37eRZ1rWN!oGpuG_t*t^ek|guRn(Y<$<>4B=KDo6LFO&Y6`ob~ zg|@=BUQ-b8d%?CDr0Tqm;7&2`rD;xa{~ax2soHW}d*}Hhulm|{-<5!|vau*4dU%Ev zXw~ahSZGpl7b4J)HH~Ek{gk*Dwd7;&E8S+tW^Fv}3+rBXPD%}Yhb$4717)ZG5}dhJ z_Blp7vqTdR;X07dKp`?67-QEhVxi;MkW(8Nxzz?nAiKrJ6EZs2Xz}Cl_aVD=HFD^s z%Ca=?hoKfi>a*>jTBmsPUFKJU3kz{z)6ML-x??`TnveUnF;M#*hQgl_i8LBOBk+~) zulm*zE9H}V=0^D3c_M=jFtr8H{M||(yJ^$TKSvl)T}&76W2^Qhj>oV`)Bcr*~;Dx>w zxuky3Q9+=I92OcVXcOZBfL2p7|J?TPd=c|@+e!f=QnaQxT9_j#Tomi<0p0{)k9BKe zC^(p3GHUmElo^t65)PR*BnW$uh;hsn0py3X2UIt&1^E=bq6pflqx`rD^Z!CRQ9vTE zKNl-=sEen`Dd)L0M?T^4O4;PmD5po%kUc3`)p`&oj}{{fgtE_tV|Q}fv0+3*4nz0$ z5>D)aqoDg^JAU^L?L}YJ#+L8Ka|#Mf5e9@h0UV`cu*qw%-11uy9NosB z#oeCvM@pip5dri-&foc2tP1?Ksg%q*Eioaf>O_lm?fq%aaHN)UG^&5*Eit7xno1b; zJ%sqte}0f&5ng6uEfNiS9o~>ZIgV|HO8NCxU;n}KQ!t;>lu8huwn2ZNL+7+K9#jhQ zp`1HAd8&tz)SjU&Xh4Qg#rXs?cc>ZIcs2Q*4(^69rNI)8aAw$^XTm_aY*X6`E|II< zJi)MWX7_CC8(BGZTXpu{ukRu>@#Il%cN?XebEBK>lg8*D_lFvbV&Ra z4%Qzg_e)+Q19B6=&Qc&^_-zIsB1`$eWl|CoJ4@w>d~4|7@)4mDhC553LI=gYJdKIt z{YoKOY`aCuF86Uq&kHxG7#-cmm?1V;)-M@M!y{n~1ynwxSAADB)u;4Ph*1+2by3UT zKWYT-=^)sb7yK18xt8$3>p=9bMjSnG<1F%B*P4l*=@u>G!3rP(0e0H8N zZgcGA;VZ`wa-N8)e!kb^YB|qBm18~CZ3;Dw1&Nppi=;l6<2O~Gw1 z3JWjtE2?|4a@-6*w{2!_VznSvka9P_j5nDU9Jq~J4xGI^qeWd-8R0z+)V$;BF2lIy zns#XLMY#B?Rkzn&9H!km4Zq0Jq!J4^x}aF1j>J;-(qPg~WUW@4B_Bj5I< z#fn*5kM{2nCj)h9xRBXPYgAR!E{GS5Xjcn=moa2d6ckf^8R7}d zla(GIBO~8D?2*`SC}X?430(HSyde|M*=C0Y_2)=Z4`pO;C;3#mwJvaoc~oDo+Vg_o zGY?%<0yGZE*p5Fyat9vw_oP?R@*RHkQT3v;(Oazs^<^e4^_!7CV~g{V z3GNw&^hgGN$eF)Rj zjs(kO=);rHBsQ{^SC6MLw%m+;`v*ijDO-2^b#?`17`%kTw#Z>uu_ND4 z9aRt}$LVLyM;atAT+z5(M&t}OLBJ7eE>^f!$cjfN)xTA#!|c#+Kp43$lZe;$;~x!uJ>4{CH&#tq3P^)V?%?* zAt-C|Cu=-BTe9Y!YxocI=+ub7(3vx>c|P59gC7M zO<+kmd3UhCH3L{n_4^DG2<3<#yDX2}_fM*iJMj0Zj|*E)C);iXixTw&@zTnc{rair zpIFdmNl!aW5|hnx=%Yq!-iwM-o)W&`w3u&Yb2_?92ALH~;kz6%Q~Dd$U%qr%mw0a* zIe$)rU(b>-xep_l^GejUKQ6_}2@qSIK+vRe#sbVgnM7R^{Pl)F@kQ!~ z*;bN0)|6^bw+|{lF>e!`nQs7i`AA6YsC`-nXE@&YQ)i(KUkR|LMf2AR`MJtCH;7j- zv+t|&f{GjXWCAnK{{90a)2oZ(vIF_BqsX!6{*wwNPTYyw(al9>#!=^QH}NfydA{68p^!z5ZuN0T)ki{i02_bX5Sjkba0j5$hPk zS1r{1u&)38^uciogmG^byIg=EBX}d(-}adt33ZYRqlf&WazesUiul~&`MmQptya^@ z7;ZE&m9E0Ec*-J4zJc2E(1+iG31Jd*e^82i*r}jhTiP;=-Tibi?7OA{p;jL={JceZ z0Ftz8jy9wNlkZiE!+5rVwFRG}#&*%BFhnVGDf|m(!%s#sYTJh}ZXzY00VZ>1&4|4% zmf6?=mwyzvrouP1+$WB@+tHIs%(`o)?izaL{7teoR2o~SaUX~ScmJ$7r?a9f7v4x6 zNZMbkofHIqUz_8;mHsB%TCD6evD|k(VL{D_lE_lArEq+J?T$m+SQ@9O05a4^M(7=4&0q6kLPn1X26nRKL&gxHC*=N%#q6b8_kiL*S@0M#}alBVRJf#G+YW)sI2^*ws* zNtihu3cR<2W9EI$E*`0Fq4Q+JyqT8JCE}T|EfEC*`Ep&yn{#t&W9OEjIJq6o-cWOA zR&}(X6y@@L_YdZuT|Mrh1YbFst9&ozHbSycH^xOMy;(#5`D&Y#svg!R)fOB!x=Ej>b52Z$Qkssc=j0d^T2OnLm!T)G;zMNg{Mj8Aert@TLfwA#A~Zs-CNJ;>+~^Z zFmFlpwjz+oh-!%!63j$J{AnvVV)SfcI)#^#r9b&tdgS(r0-{6rUb~U?DgDE3ihsga z0-cRkWX;H>-d1~WpMK}{)MF%fx%Rao7IV%bJFhZ5T?InF?S2Osdw1y9z1n^!?3+5& z!6}EdnXAD4pm3U;nN0@LHeV+%G=ImqGeZ{2i;9@Z3f1EJ=Tm_fhTne!ZYvg*&-kWh zsgrk&qFcsi3n;-04##K-;5@_YS2wIYu16)v8!i00?*d=aMILU%y_3(4$n(|XRIJ#y zjh*KXt}(Du$MQ|x$T?N1<7wTx z+@!T#MC5~yql86njzJBJlZSuS=HtFk)?E7>4J+4K>Ag&;=99*W$TIt6ut>%=Tzl=N z4?D<50-AogU7%UyH+ZV`s`V}w!{4#9&@HFXt$uW|Tu<%t!_Iiwo@yHCpxtQ1UF-b! z-(x~-t%H5cx2Mts{oqASZ+7<Qtaj_fbjK{c?@Uxe1xQ_!h=`&R9(AjRZ4KbiKG=NH=e zs+VT-{pHEQ*kX7mv0pIQ{`%&~U34>PcjxfN@}S`y>4f3dlD_fY9%A=WzsWt$e(o>-15P=Dz_^0qGfb)U0A=SUpJ?4@?>5>>o>{aI%)!2*@%>QPk%(LdA+n7 z+}8I-hwy9>{(ycPuYr0yy`vn8bm2=eeD%6(HoPls$i4&TV?zhHOsCbrGH@L`VO&=@ zzg9T=Fkq6Qi`nWoC|nB}c|R31{~j^#o#K63ap!-B_Uu%TLl&9W*0L08?44|QJL~UM z`f$?jq|pDBDx>T0Wmq}T)^7fAsd*l?6lHa=n77i>v*G~ey_jWrzVo@^I@P*5n{t6* zCS5Aj1FZr;LSrtUJyOH?qE58GPJg`jydq#&K`eoApKb#>^*xHb_)o?!o(M=b_Ohvr9Ldllo7#{ui=rE;@0@b4=Jz-TD(^L%mteddd-{^oz19!fGc? zyZftkj~ekw(MuyVU7oKDN7MIq4?ZslWr~YpUv}*CETZvuW)TA5ad+1$s#R{OOV?bnQ-tKEQ``DCDFlg5=>yCvQ zq;}GonU$${G3BiElMk5ZaIW1@5IPm~WN{nHR_KGDaaqD0Fm9w>*S-JC$&wX^>xS># zo<-?YhQJ~|oO68>JpNRv``Z`2e1CEI!S9MgvA!%)i9*J+h=>7iyk25x)-uGkd`$9Y zqsIK5rs$nuGAf+;=Gy4*ex58RhOWs`=k&HA1fPwg+0AH=Mn3_{_pLfFpvF{8ZD7$P z@#5T8kAJnTv_`D=X~t-hWP zEibw+Hx)}&kpbs#5mpD33;kIDGik2B8$kcj93?NyY-$~Kmld}zY_+(I(HLDbn8_aQ z3hwC2&j`g=3OieBHvR^dBvsv%H`(3~_pT3%NO9P+fT&8kCOsII*z@F2r$6qvwpacA zPs?wbR*MgU9TO`&?Av;8R=qg6WqX5?i7O-Q!#r19Z%9_6)jR38ZFw)U{Etq#Z+9!~ z&DJA+BGYLUZJC=*v!ghT_g6YoOWB&KVlOL8Aqt}Vx^P=PXT-#Rmc+b>#m53MgPj~4 zPbim4HeXj|CVm6MoJbrs)U0XzE_{CfLcvL3&YZPv2i8IQLqVSKy=qI)gnavJX& zPF~eMLN_{a8Wp0N%#mb%1L-GngeKZH*c30>HExrB!mfV8y-jbNbX&WLS*odj@#ZI# zD&mwJ9ZmhBU4z|@cauGytA5ghhnP-sfs~c{6qV+>GMxy2Shh#gVaW+6mNbR7PWnso zTm|2{#7`4Y-+SliV(P~l@c`01!CZJu)35ZwA0v+v;x6b;{e5>IFYCZ29|(+~=tTNf z3PC7ce3k+;=(Z}kkAL@{0{$MN!T&wv$CY_CfBF=~@8shzsS?S*_K4ioiChBg^z7On zxf^{fDP20TEP1?37}ZGll0JYgS#rH5KyZhy&lv(9a~1S@D0TXMC$#Ec{ra z1V`XjAajHsrL zR+Veb9_((|5EQtI!27IONP9855Bct+Q0~V&+e^23D%pCU@QbAwBR*zbzTZSTWK$bM z{PB6NtWmwbK&%n{k_0bpkEgAphNtTt`LxLfmJ#M%-X+TR@4ZPz9$ZgM8}LlJB>H&4 zQpFjD&~X5QfgeQ@a_M4>pD^evtmkcOM=H2cbS)Fzw9Wg)cvumCWgKCDEb2-VB+5X< zpicnwbj+mNZOsm!p`@qRsPCJgD}3{)pzbbTjbTHLS>R(Xew7}PlB6STs;oa2`&BF6Cu*&CPf&L>ePZqAAI@YhD11cnf8@{cTj$qcuJnR^+;o+uM;8Qx%pY~U3$J4ja5h6Pv+$^MV&-WKT7CFeOV{@bpQ{R zqr)lc3Qp8sPs*7Oi8H7q!O4~}v3vnX1U62$CyP~LR;g`0>b8|n-=$KY$Lns{19KI+g*|DdMHzKy z%Ic2AIb{oEb3rGbn!udK3&Q2NGGM34DV^lsB%c zu7HDy{FY{;agK{+2|9GuGC|XA|C#(tT&_BTd*MD%s%T_gL)nD&L8HFl?udzD6EcMRp92VEMrdSHO;Djzxq{e0O=Pl_!ck+zxaT9s=kj z*G?Li5l#hsGC*i?aWAh%pi*?O1;N#pkP~#rdTLi7CDKr_CJ4#9p-*4i;#Qi*LE9}7 zV$3;W@kE^_oBGa|ROC0vhr%7K`ouf(s8J5(B%T$9z$1Wg2*yIu1L$UDirb5uk<>L|mA3*{)|}R4 zzib-3$$R%F@dJkFK&!QCkxz$YHie_YZq~7aRICofY^Jy4O8FY3Bt8rkM9}ya5y}`2 ze`b``M+R5A?yWO9$tCj3R=2?`qHdJPznt5T1;Rf?zAx_kF$&BKgoa^HFan`TJhK!x z>5;Brbv%w(!3R=oMFcZ-7ak!ljFz%k&FwI7)p3c6aO>C7hVT72SIwqv|ofbP07zg>?&!66tRD^d4(2R6nxH5?PjwWTDurT3~ zxcFgR7~Zvk_!r6D@zlW#))+25602X_llC^*E3^C!#V(fe?=KKCS<$)mNUVQxPutt%ugr=! z6f0%2=4H20322PMftPH0J1PAJEafdk>7IPX=fpcSSm?9j{ zeRo1j?gT}<6^2i`?BCK1?uPO!kg}IDm9QMz&-JAe`c_Ag%O)wxKyhA}ARQng`-TJ7 zSF9Y$h;%Ad4=WYhqf7ICceZi`I``!qPsfb(P#xds;2*1a1)8LEo-}ugZBF|f@UdTV zd;TW(OC*Ql`=KMHP|3lQQii(&#>04rR5qF!NVboeQk|8L<&)G7k&9#+yYj|xb0x=1 za%!Ssu*Je9w;R1SJ}fJ?OT{3i6UDSG&7i=D-Xo6Wi?xAT4b`0OL+C^K6vq03Z|>G`gql#Icch%A(w(8Eq)AKQ`PH_t<$ z$JBQ3&(mDkA@F)9|5Yt&hZO_(Q3Q;-b5L_5>hyX(;WX`8GYCg#p-UBQ<1k~4+6mu( zD(fBxT92`o$YG8Xjeo`}k(NA@Z2VSc5Ke&Ej5s6Ne=2?prSf1M<04@JWTmkf*ZmyH zabkCBGOfcVs+o8$Mz}ZB>s&dn;Pg!vUQL=h>8rl%BGwC{#yKpi6UAoh+9EFNEY_gG ze47i>>4oxEF@a|XABZX%5SdQj_F3BSv|-?KD?upgU`bhaW~bE?hZL*%E4?1xkO6T! z$i<&eI%?1Rt=f;ObV=2nF}8V?Bz^X7{}XHcZe^%0QJSBc9@?S9qFz3h^Q$7CbD4%W zd!uVR;Q|z~T9OF=jsfRW z_$Gkj>)^Q#)NV0XJJ%6W@uZZ%S2T}Lsj`fW*l9=!lhP`}=Bpy{V`Ch;Xc=JUGr-*R zPI|o1YWOt7`C+#DJ+u>W4~yfsK~@olYn;H@v@~W+`e=>RGX!#hSunZVQeRk}W*7joU)PoUJnzEsNVb zlM5(5bNbaea z-lW9-o|YHEPZ>-83kAiN6%A{x-o!FdD%ZTHS~=eORX>m?Y_>H;Falk*y1YT}0+AE% z%u!VGUZ9*kWq7NZg-5sFu)6K#GQb+eKKz&)pEnGJ*#TEbgO~(pe^T|Z3D+WeuDHB+ z#bzY-H@z5J#}?8xSAj;(LpGVz1E7POh)fYNx@w5S4RV=ll1vlKqHrcA`45hRidHn$Dq!oFDzoW`G1T zoSQR1J~Q02ls-#l=g(!;nq}4AWOfH%XrJCuDem}gyD$D=7<^%2U5cMiF6x0?h6coz4=7W-}jg^h# z|0ViRtTq;#1;E?TIu@h4=s7@7Fo8o(XtTB|YHR>T%T+;VuPXA)8J+ydn>Q+x3sjLA zx9yK~yJ$UhZh6>zC(}M}wW~H#U}AehYr%jaI4Ljl3K;Iz;q!z!zn;pw44d{D!R%;8 zE6^h5xAoJND1#(;NC}Xasxr=4gCa31@~TZ|qeFQLoQLQbSl_-jVh2&Uii8Urm*^7s zQ{6_8EeGQ<(DPUw!({dDE~uRgS$_j$2iA2FbkcWdE!@a`o;XIIp>qnK8E~%Sz4p}Q zoQ>(DZ_*Mu(S4HMC>*>+|51MVTbGgN`xz%CFL-XX$K=VN4cNzRuZw~tiY6y0(7o_amRSa z-C@}i^O#>6`WkDD<+Ig#DYOaDY_(0yTzijOO_lTs|PlJ3Kk-+q$ z`6EZ$0$@ literal 0 HcmV?d00001 diff --git a/extensions/sql-database-projects/src/common/constants.ts b/extensions/sql-database-projects/src/common/constants.ts index c116e7e85b..773d85eacc 100644 --- a/extensions/sql-database-projects/src/common/constants.ts +++ b/extensions/sql-database-projects/src/common/constants.ts @@ -354,6 +354,9 @@ export const targetPlatformToVersion: Map = new Map targetPlatformToVersion.get(k) === version)[0]; } diff --git a/extensions/sql-database-projects/src/dialogs/addDatabaseReferenceDialog.ts b/extensions/sql-database-projects/src/dialogs/addDatabaseReferenceDialog.ts index d6f7a8ec2f..3af7905ed1 100644 --- a/extensions/sql-database-projects/src/dialogs/addDatabaseReferenceDialog.ts +++ b/extensions/sql-database-projects/src/dialogs/addDatabaseReferenceDialog.ts @@ -315,8 +315,8 @@ export class AddDatabaseReferenceDialog { this.setDefaultDatabaseValues(); }); - // only master is a valid system db reference for projects targetting Azure - if (this.project.getProjectTargetVersion().toLowerCase().includes('azure')) { + // only master is a valid system db reference for projects targetting Azure and DW + if (this.project.getProjectTargetVersion().toLowerCase().includes('azure') || this.project.getProjectTargetVersion().toLowerCase().includes('dw')) { this.systemDatabaseDropdown.values?.splice(1); } diff --git a/extensions/sql-database-projects/src/models/project.ts b/extensions/sql-database-projects/src/models/project.ts index 2a0a36a67a..9d920c2ff0 100644 --- a/extensions/sql-database-projects/src/models/project.ts +++ b/extensions/sql-database-projects/src/models/project.ts @@ -441,6 +441,13 @@ export class Project implements ISqlProject { */ public async changeTargetPlatform(compatLevel: string): Promise { if (this.getProjectTargetVersion() !== compatLevel) { + TelemetryReporter.createActionEvent(TelemetryViews.ProjectTree, TelemetryActions.changePlatformType) + .withAdditionalProperties({ + from: this.getProjectTargetVersion(), + to: compatLevel + }) + .send(); + const newDSP = `${constants.MicrosoftDatatoolsSchemaSqlSql}${compatLevel}${constants.databaseSchemaProvider}`; this.projFileXmlDoc.getElementsByTagName(constants.DSP)[0].childNodes[0].data = newDSP; this.projFileXmlDoc.getElementsByTagName(constants.DSP)[0].childNodes[0].nodeValue = newDSP; @@ -462,13 +469,6 @@ export class Project implements ISqlProject { } await this.serializeToProjFile(this.projFileXmlDoc); - - TelemetryReporter.createActionEvent(TelemetryViews.ProjectTree, TelemetryActions.changePlatformType) - .withAdditionalProperties({ - from: this.getProjectTargetVersion(), - to: compatLevel - }) - .send(); } } @@ -498,13 +498,21 @@ export class Project implements ISqlProject { } public getSystemDacpacUri(dacpac: string): Uri { - let version = this.getProjectTargetVersion(); - return Uri.parse(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', version, dacpac)); + const versionFolder = this.getSystemDacpacFolderName(); + return Uri.parse(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', versionFolder, dacpac)); } public getSystemDacpacSsdtUri(dacpac: string): Uri { - let version = this.getProjectTargetVersion(); - return Uri.parse(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', version, 'SqlSchemas', dacpac)); + const versionFolder = this.getSystemDacpacFolderName(); + return Uri.parse(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', versionFolder, 'SqlSchemas', dacpac)); + } + + public getSystemDacpacFolderName(): string { + const version = this.getProjectTargetVersion(); + + // DW is special because the target version is DW, but the folder name for system dacpacs is AzureDW in SSDT + // the other target versions have the same version name and folder name + return version === constants.targetPlatformToVersion.get(constants.sqlDW) ? constants.AzureDwFolder : version; } public getProjectTargetVersion(): string { diff --git a/extensions/sql-database-projects/src/test/project.test.ts b/extensions/sql-database-projects/src/test/project.test.ts index ec346c7fc0..de83aa1304 100644 --- a/extensions/sql-database-projects/src/test/project.test.ts +++ b/extensions/sql-database-projects/src/test/project.test.ts @@ -155,17 +155,23 @@ describe('Project: sqlproj content operations', function (): void { should.equal(uri.fsPath, Uri.parse(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', '150', constants.masterDacpac)).fsPath); should.equal(ssdtUri.fsPath, Uri.parse(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', '150', 'SqlSchemas', constants.masterDacpac)).fsPath); - project.changeTargetPlatform(constants.targetPlatformToVersion.get(constants.sqlServer2016)!); + await project.changeTargetPlatform(constants.targetPlatformToVersion.get(constants.sqlServer2016)!); uri = project.getSystemDacpacUri(constants.masterDacpac); ssdtUri = project.getSystemDacpacSsdtUri(constants.masterDacpac); should.equal(uri.fsPath, Uri.parse(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', '130', constants.masterDacpac)).fsPath); should.equal(ssdtUri.fsPath, Uri.parse(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', '130', 'SqlSchemas', constants.masterDacpac)).fsPath); - project.changeTargetPlatform(constants.targetPlatformToVersion.get(constants.sqlAzure)!); + await project.changeTargetPlatform(constants.targetPlatformToVersion.get(constants.sqlAzure)!); uri = project.getSystemDacpacUri(constants.masterDacpac); ssdtUri = project.getSystemDacpacSsdtUri(constants.masterDacpac); should.equal(uri.fsPath, Uri.parse(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', 'AzureV12', constants.masterDacpac)).fsPath); should.equal(ssdtUri.fsPath, Uri.parse(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', 'AzureV12', 'SqlSchemas', constants.masterDacpac)).fsPath); + + await project.changeTargetPlatform(constants.targetPlatformToVersion.get(constants.sqlDW)!); + uri = project.getSystemDacpacUri(constants.masterDacpac); + ssdtUri = project.getSystemDacpacSsdtUri(constants.masterDacpac); + should.equal(uri.fsPath, Uri.parse(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', 'AzureDw', constants.masterDacpac)).fsPath); + should.equal(ssdtUri.fsPath, Uri.parse(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', 'AzureDw', 'SqlSchemas', constants.masterDacpac)).fsPath); }); @@ -192,6 +198,11 @@ describe('Project: sqlproj content operations', function (): void { projFileText = await fs.readFile(projFilePath); should(projFileText.includes(convertSlashesForSqlProj(Uri.file(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', 'AzureV12', constants.masterDacpac)).fsPath.substring(1)))).be.true('System db reference path should have been updated to AzureV12'); should(projFileText.includes(convertSlashesForSqlProj(Uri.file(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', 'AzureV12', 'SqlSchemas', constants.masterDacpac)).fsPath.substring(1)))).be.true('System db SSDT reference path should be AzureV12'); + + await project.changeTargetPlatform(constants.targetPlatformToVersion.get(constants.sqlDW)!); + projFileText = await fs.readFile(projFilePath); + should(projFileText.includes(convertSlashesForSqlProj(Uri.file(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', 'AzureDw', constants.masterDacpac)).fsPath.substring(1)))).be.true('System db reference path should have been updated to AzureDw'); + should(projFileText.includes(convertSlashesForSqlProj(Uri.file(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', 'AzureDw', 'SqlSchemas', constants.masterDacpac)).fsPath.substring(1)))).be.true('System db SSDT reference path should be AzureDw'); }); it('Should choose correct msdb dacpac', async function (): Promise { @@ -203,7 +214,7 @@ describe('Project: sqlproj content operations', function (): void { should.equal(uri.fsPath, Uri.parse(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', '150', constants.msdbDacpac)).fsPath); should.equal(ssdtUri.fsPath, Uri.parse(path.join('$(DacPacRootPath)', 'Extensions', 'Microsoft', 'SQLDB', 'Extensions', 'SqlServer', '150', 'SqlSchemas', constants.msdbDacpac)).fsPath); - project.changeTargetPlatform(constants.targetPlatformToVersion.get(constants.sqlServer2016)!); + await project.changeTargetPlatform(constants.targetPlatformToVersion.get(constants.sqlServer2016)!); uri = project.getSystemDacpacUri(constants.msdbDacpac); ssdtUri = project.getSystemDacpacSsdtUri(constants.msdbDacpac); should.equal(uri.fsPath, Uri.parse(path.join('$(NETCoreTargetsPath)', 'SystemDacpacs', '130', constants.msdbDacpac)).fsPath); @@ -214,7 +225,7 @@ describe('Project: sqlproj content operations', function (): void { projFilePath = await testUtils.createTestSqlProjFile(baselines.newProjectFileBaseline); const project = await Project.openProject(projFilePath); - project.changeTargetPlatform('invalidPlatform'); + await project.changeTargetPlatform('invalidPlatform'); await testUtils.shouldThrowSpecificError(async () => await project.getSystemDacpacUri(constants.masterDacpac), constants.invalidDataSchemaProvider); });