From e3a8aa8345e39e38d930e9e61a657d693d09e180 Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Thu, 10 Jan 2013 11:47:04 -0100 Subject: [PATCH] Possible fix for U4-1420 --- src/Umbraco.Core/Events/MigrationEventArgs.cs | 66 ++++++++++++++ .../SqlScripts/SqlCe-SchemaAndData-4110.sql | Bin 0 -> 423414 bytes .../Upgrades/SqlCeDataUpgradeTest.cs | 73 +++++++++++++++ .../PublishAfterUpgradeToVersionSixth.cs | 84 ++++++++++++++++++ 4 files changed, 223 insertions(+) create mode 100644 src/Umbraco.Core/Events/MigrationEventArgs.cs create mode 100644 src/Umbraco.Tests/Migrations/SqlScripts/SqlCe-SchemaAndData-4110.sql create mode 100644 src/Umbraco.Tests/Migrations/Upgrades/SqlCeDataUpgradeTest.cs create mode 100644 src/Umbraco.Web/Strategies/Migrations/PublishAfterUpgradeToVersionSixth.cs diff --git a/src/Umbraco.Core/Events/MigrationEventArgs.cs b/src/Umbraco.Core/Events/MigrationEventArgs.cs new file mode 100644 index 0000000000..c447ebcd1a --- /dev/null +++ b/src/Umbraco.Core/Events/MigrationEventArgs.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using Umbraco.Core.Persistence.Migrations; + +namespace Umbraco.Core.Events +{ + public class MigrationEventArgs : CancellableObjectEventArgs> + { + /// + /// Constructor accepting multiple migrations that are used in the migration runner + /// + /// + /// + /// + /// + public MigrationEventArgs(IEnumerable eventObject, Version configuredVersion, Version targetVersion, bool canCancel) + : base(eventObject, canCancel) + { + ConfiguredVersion = configuredVersion; + TargetVersion = targetVersion; + } + + /// + /// Constructor accepting multiple migrations that are used in the migration runner + /// + /// + /// + /// + /// + /// + internal MigrationEventArgs(IEnumerable eventObject, MigrationContext migrationContext, Version configuredVersion, Version targetVersion, bool canCancel) + : base(eventObject, canCancel) + { + MigrationContext = migrationContext; + ConfiguredVersion = configuredVersion; + TargetVersion = targetVersion; + } + + /// + /// Constructor accepting multiple migrations that are used in the migration runner + /// + /// + /// + /// + public MigrationEventArgs(IEnumerable eventObject, Version configuredVersion, Version targetVersion) + : base(eventObject) + { + ConfiguredVersion = configuredVersion; + TargetVersion = targetVersion; + } + + /// + /// Returns all migrations that were used in the migration runner + /// + public IEnumerable Migrations + { + get { return EventObject; } + } + + public Version ConfiguredVersion { get; private set; } + + public Version TargetVersion { get; private set; } + + internal MigrationContext MigrationContext { get; private set; } + } +} \ No newline at end of file diff --git a/src/Umbraco.Tests/Migrations/SqlScripts/SqlCe-SchemaAndData-4110.sql b/src/Umbraco.Tests/Migrations/SqlScripts/SqlCe-SchemaAndData-4110.sql new file mode 100644 index 0000000000000000000000000000000000000000..82f4eefccae762869e83ca05ca7620ff8fe694ee GIT binary patch literal 423414 zcmeFad2?LHndV#nc1O&2K+Cs>^0Wz%;386%<>o3e%&iGfvPYqD5DOOzTn2zd(GK6w zGN1I`d4BoeMP{CJs_Ik~K#<@G1c0iuF>4C_0iq* z`G?WZqnD$N(eCKUXmj*>^mw#4+Sa%A(Yw(befm+)e?Izeqkq-^rO^+g7o)9o?ZxQT zXkS=eO; zZe18^QgYDWohcNZXZ7l!_5N?bLA!!PNhzl8OxJKlH}sDZB0$FYewXl3Qq22+1k#26 zq0RRRfhN}Hm0#z_%CDOVyH6xTcZ6+AN2tAv&XHR3A<`daIZ_)_5nP)^|2xpn zPDL@(IdLoT#CGC~z+m%Q+XCy-)yTVj(HA_nE#3WF{bc&a@_w0U1PULgW597>`6#(R zY~Q29^10C$qYEvb#|}XEJr@KPwRUQ{v8OT}pJ9hT)+n&AYkAzXBe0#&E|yZ$TW3uB zn%y}3O_JT#lvr%oOb_%IZPy%O8|$HAvyT?`Q6G8OoN@Sm-7_fdh~}FC*+rytv&~J- zfBS%AZXWz+WWhyfE4Xqo4xC>~+A3s3N1-E;;ccD?tG>US3vTZJM!?oK`^y9S7GZtLW#Z zV3z%dE^j3Fm+8dxR<`pIXh@#yP*S}5{kgc$zY4w5V3VP|5 zO0$gf+a&e2G)gR>YZ@um8o7oY*{nCe=4-)MN<)jEqmI#aTFpwzqPPg?qjSr@C z@KN!H+X*V1ACGQl5$S2Zi1Ao1eV;h(xjaNmz-e4uQuKT{ZCfuTHjhpRIy%TK&F@*u zjgvlM&Cl}2v>3-Ys|3!T7QGzz?pw))4M_*|$~b!nJdJz5%kK^!2(KdJ)fBTQ8OJ=K z-K@8oPmy<=_Dt#97%N@&c5ZnVS+S|!_e94)_KjqwV-8Je@n-Z>n#VY57;j^>t*oGz zJH06koa1k_ecU|f;L>?wUw#)W8R~d;sFzCYwyA#}C^L_rs<_foaBCw^GMG5 zXV#>f&4%@m`JjepmtJwssUIv;&KJD}#{;TR~w*`W3;Ry${5sZnCLjn$@ndM0~;Y6WL~+C44q zIfp!FHjgCHEYYKSgv>=d<1{->8(Qu8)?AI(G#{=vlH589OrIZJX~mZ9*&yACpzj~l zAl(;c&;fmBW!#5;m`BFCg|Nb%-EHf)qkt!ohj*d_v>VZMatjX=9lCCWyG^-0J4K+M zr}Ywj#|Jod1g{mf|?Qe^HsGrslWh{N&IE>(A{qBx0=n z-$!O{bV!#b?N6iY(w7{Ewf_EYvv(xKj&#Jj{!`g!j5lKxrku8BuccbQ%v6`{N6R_p zhW-CaG=Oh{?6ADb(xZmL^!Atyeu7)HZbVl;Q;hi6vAVg0dlPCzi}w^U+fDkFC`ztC zYr@XfL>qRC^N%gRCoO3{FaKN~U2XAC%>}dTOmd{Vf|Vf@+%r%9@r~MfEo{*qx`$uB zO`C0|tB?gmn@#E2zinbTo;8fE6?`pc{A+n=UWoVZH!6+0`KsGqZnhNi_vocDIczF* z-;Vw)-@&=;(h8g1E|?$RHCJb>!Cm+@XmMgEwr9I=F|LJQ59bEnE$7;K;rXoBduos9 zGgKKmqN&g3kES%W+3fr`j%$JwGY5==9^kPTh*UP^JrFnAG6*YX-gak~ zs3rDRN9DI~lC%lWt>lUFDMmUSg5?`^yOZ8sY&K0AoSlZ zx5)+rr_S)suM@`iQQ~fr)U@rC+vz8v^YcxPoUeYMOJcNroNg}c&waJb%@))6*-VzS zB?q+IUW7`IiYiyNmZE7B<=Hygen(Uo7D_wvRL^S`JR!NBN@_W-_DKAWEjfw4W@&vI z)+ghpN%j5lJYJ%%75;6>eSM``b4+D>M=AOLta>C?J%NdN$A(=?-T1avu)dR4&TCL+ zk!5uSQl`t?`a|`AH%zp^F$pT2oa3FPr*X1`$~k~f=7 zeOJb&N=y9c{3^00buDGzYKX^rFIK>YPt_;7QOlt$yB(_wLGje=9w}0@tUZ{$g*)OPB5=80b6y&soi>}$qURDyv-??Z1beF2Sj~$B znk)@6rBHQR;w^H`jA*)rbR2P-NfG2e`U~Ak76X56TNut7wkz7x)LiubMl+|CS>MIa zk3OcoTXSxgj-R}qr%C@IH8RecGqa`uDznI4>)%&`29;1m&)z4Oybx_hT%7fJ?VRJ$ zN$>D+7LmJUULQCu($-Ic_qbZr=XKjXdYZn$$5bm#%hH zz|{S=HBK8F=97Aa@!lddQnz?~x^{MMtzi^&d`-N;iU@S**1_HxL2>a+6LSHlaq>0W zaCPf_-aD#!HOD-!EV?wh*b$SNT^dc3$ff<*w2!bgCgtDr&P>fWS&{3Vs_@6>*(IaP z{yQVj1exk6_p)qDe9Jof!M(l}1YQ%=t{^av5@*1=LzZ;YFu2aNXc%;jJE97U(%4ba z*7=S#ud`E@X`_p0Gfdj@uL*-S#T40Dr@6B5uex$y5vW^=xp2SF&SwwwM!i>8-3H&* zwU)DAYo8zPpZ2>c`=52)&ym8eyS10?=vBS%6xJnGao;JMb60C3ZV47xIjjS?FPeWM zF5rz<`s^#$4zJ+xvMvrQiAe3<;WIbX+D+wSAE>oI2^J3p<;Q~X{~UcOd+>JRrPB^U zBHcjntsvtyEW3yB`M%>CF#A^U`81%zYIvZ7Rt7rIPf*yc;@Tvddi+Vz)5Qabnd4Yl z?OO2?a;$G7654g|S|?>4tz5jVJ{IHaTvZT$?+*vo0U99hU06yx?~1{ds5Ocm2D>EN z8A%{2<*4i1l%~HlIxBj+q)+Gd>7uR?!8)rauF4YU+P3uA)pUPT9unT{MLoZf=oL@y zvhH8h6Z}1|ZH5sf8=LcGUU^9lf|7vZjyyJ4=|h_pdAO5+|^&f(K8`??=I* zy?dvxy7Ft%esR2;pQ7FdsSx|Yl`VJcyG%9pING%%Wm{#1OnJSZ)-2y>W;{F!Y{VSn zp0uY~7o9>`@ryP-n{=}Oc5CLguHF(Q{wjI!Sl;!X{yvetd{wsWJ5l-1qRyM@VO{p^ zBkjk!sVC3t?&jzZhmttA_@BZE`*Cfa^laas1jhTdka+jg=qo=8tz&?l^qr}{aoJ5OYxtfp({^)ziY^A1tdkZ-;-QNBbPoS`A3W|x z{^o)F4rakRL9Uk(=G;SA@O~!x8_!|X*R}VE>*6k~b^LAYC0j^*IT5q^>6NcoHU z0q+;|cPmNui~0+Op{vUY-)GZ*d{Aidf^fdAD^OU-*T<5!*ml_CTpK70DH9UpFLk#DA>skqVolOXLS~1es%r1qDHE*cC_xVi(A^%es11pSML-~f+k@`jslrMUIoBuV;ycxuS0xjX4r#35G>QWSP7+k|{JId2px^UlYng zQjssmGP|fZ(4f4FZwXBXjop-1BtlHi@U8sx_anW!DC?Xki+udD#>dY+0`*(s~b z?rKUeTV19sY= zb{A_kTsd_7cKvwzvg9%c43cXR$%WLKCb=AIHGOS}R;b;<6Ld6!`W-BFD2=;B#*l94 zMXup-@{4w~MkT5r^z}%0@E2d}9U@{UE4i==mo*#sWRP5oNG>Y4rcoBpfNxV4_WKo4 z7V(J9L_0+AZNZ}xsgyw{@*El4b9$O;s#l`TePUGdf?l{wlPRz4La&<>Oam0@Rr3#bg)h1P_o z9BV~)BHb?Oj&n?#>0ao{YqId)B-)}vU`sX`bspp?PoB!oiOR^;4^&p4r8=v{Pn==8 z-n?AMGCV_9Dv_f^GeSpD5me^d1u~RGE*$TNCaHYjKRI*sXpUFJ8pGP+Uy?jy-N18E zT~vLatgVJuV=r@vUo1v*Z66bl0KJBP2$uPNCP^xyT&qb(LSINOBC1fDea^@ox!!^Z z2Hs@EU5W5#+kZ_}&}+(w-_pt@YTvHu^EJf}*iGQ2=yF$7N$oF|TVAublq4W$#+m-8 zSVALHF~rCi3srsgeeqL>;StIELL)hQFnY3JjG0_2>j<3D8ft#te=QmIG1gQm_4vkb z&>-LZ6gV&ag$-eDRlm03sJ1}HVO5iTLc4MeYYzP5s}e&a=fqpkE-f}~I8zpp5Mp%L zj`na@6a6|$M+?^9=so%;<3Qeu7zcl(s0PQ8_)G(o7eoG`vb`FR*d&7_qL1=sTW47JzHi z?eH9Qh$O@IC(4FZgFMT17kS<3heT!AZOfv&!TQ2VUX;qFMKdh*%6JA=H5$(=yNPFz zNx}jT>kAo2wJWrQ4~mb8U50K%4^@6%< z=+FKs^6ar9{*J(&Ol8JEYf%|VU5w9wD=WN@Vtu8tk99W9LPLunfo!3n{ir8nCl$vg zBHm@0=4)7CSpBS4LSrJ$$OrHam5ezT@JLU@I%D!pcO}zasgiLo^*PA267L`5syNdb z9_Dm9E33?qS{q3RVkcvn;SnIUEYqHfmWYRX6+Lu@p2aV?pubcw68XrUz`CCGo($v} zPRhR=H08GT8`v2AP54?wQ<7t8%Py{LJ!q!~F(bY)m$NUqJa?+&XfsmX{v_2`Qo9-v>=3P8R18_p6CqjSWB z%z=GdC>M*+IaA&wFJ)V@j_XIXm{G%9#4o%)oajC=eky*5W(@I*`8`YU)s|Up`YLmm zP>v&HSnb&O;Fo+363Y~1Pt!Q3ei0vlm>PKiazLdOHi^ER{UOTBiW7VXq#wWZg@%T{ z$rh1+cmCjtdO;7<7qf$spyhe!%bYdjjTXrpf$Kh6(RR6I7`4~LyzE7SS+5syCK?Jv z)_C=$tuK0^QX7eY{Br~&WY{(3!Kt{QzUTc$E+)${X0w_@Yi|9pC=E3c;-vS*^PsQoGT zV}=^f2-~cSBGQJJ>M9HG#zLR0Ooz&`_^|GfX~RHs>oDg8xbAz`T#PRJcTra z#)7`cUcS_i&$xIb3X539$w@HsNz7x&S}smueey}v^<@g9z8~uwJBzv;d`EUovE}co zeoHX&;?NqF7!eM3FYxMKyuzTc>$1xBk~hhT1ndy@ZKAnt)n@w~M4miJjS0P>@dxW{ zaeA9p^KZEaq(ft3{bMU(9eHPK{!*iXrG!?reZ+mJ(Vic*JO-zD#6p?$!(TJ2mUF0Uwm(ZZI<5+J*uh5ZDp4XRT+yB1WVWrZC zAhTR8GI*4WdX#-~lo5Tml~1e-tDgL%cjLi#BkC1YMZ5z2iS^HpD&CubXe>JzxZ*6! zte~nT)$_9tJv;W~-R(}!5@RhKHNAuET2yvnhfj}>@l=*w#5b|Kh!uF%2vKxwe5j1w zS6$gdeBP@|pcHI2A{MMu;=PGgK2R^x8hbn5vUSrn_>?|}Swanz5h}6;>lxO;cilDc3(HS)) zAByh?b+LAI(2$Euvp$ji*s;RWj0_PK)#NC_0hJS$U1-Q{Njk4HBQxz4Z>+i`Vg`K? z_vdLxKcKFNwpwNpp`~RieXMnfba+)H(E_*5`(zV{#9<5KOQ3bhyQ94=D`&||(gwSu z539qELT2@e;gdA;V&+=`o!>wE@b-hI!H3v#Ijr;N}S6XaA@9ZMR*Il-uZ5{CXx;x z!K>VYz9I`*?yAB)PRBec2?m7?5^T}RFruZ@y!5fU${0Sn3IC8PLo&-gg9BPXFOqX~ z7LvFu)P-JBHxu8utBQA`5wj;lx+uQkf|{HcuRBQMB1BH6$>)nQPQF^<%N){sV)MP!eWIF6eVEA>japgPwd z63u_5)kjMjMOk0*{%H;=$;uT3( z!3Ra=5y?jyAq9zCAoJK!j88}qvfOGcp*A=ql)?ezgcb9slPr3f=q~s$R&w(b7iY6n2 zFdt2pJ5Hf}p)+j$r=lPvAR5ZyrL1B?>QNtwWVEk~^@mn=O^3Y` zp7d%?{vs`NHDuE!jQr_I`62kt>@`c)VXz60#wLucgJ~`(aI#IvQ+~eAM&Mx(i?i=( z>ch@6rQxffhmnY6!pM5N+6W1WMTu9E^>CB=HV#*N)+_MdzwX7C8hjJ%qNCV#!;}=+ z34iM+`z)!Dk3`?dfRS~8hVV$pN_zJVVsBW9$Udqqp-Ae1*b$QbIPfl5Ys}tg*(2dx zC)Tl_l(a*)4pEn*rLxFQ)HF9)+CiCqzRX&XlO*OA)k%0AP@i?JcS?o^V?TF%V>0?+ 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ξshXE&~= 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 + /// This event ensures that upgrades from (configured) versions lower then 6.0.0 + /// have their publish state updated after the database schema has been migrated. + /// + public class PublishAfterUpgradeToVersionSixth : IApplicationStartupHandler + { + public PublishAfterUpgradeToVersionSixth() + { + MigrationRunner.Migrated += MigrationRunner_Migrated; + } + + public void Unsubscribe() + { + MigrationRunner.Migrated -= MigrationRunner_Migrated; + } + + void MigrationRunner_Migrated(MigrationRunner sender, Core.Events.MigrationEventArgs e) + { + var target = new Version(6, 0, 0); + if (e.ConfiguredVersion < target) + { + var sql = new Sql(); + sql.Select("*") + .From() + .InnerJoin() + .On(left => left.VersionId, right => right.VersionId) + .InnerJoin() + .On(left => left.NodeId, right => right.NodeId) + .InnerJoin() + .On(left => left.NodeId, right => right.NodeId) + .Where(x => x.NodeObjectType == new Guid("C66BA18E-EAF3-4CFF-8A22-41B16D66A972")) + .Where(x => x.Path.StartsWith("-1")); + + var uow = PetaPocoUnitOfWorkProvider.CreateUnitOfWork(); + + var dtos = uow.Database.Fetch(sql); + var toUpdate = new List(); + var versionGroup = dtos.GroupBy(x => x.NodeId); + foreach (var grp in versionGroup) + { + var published = grp.FirstOrDefault(x => x.Published); + var newest = grp.FirstOrDefault(x => x.Newest); + + if (newest != null) + { + double timeDiff = new TimeSpan(newest.UpdateDate.Ticks - newest.ContentVersionDto.VersionDate.Ticks).TotalMilliseconds; + var hasPendingChanges = timeDiff > 2000; + + if (hasPendingChanges == false && published != null) + { + published.Published = false; + toUpdate.Add(published); + newest.Published = true; + toUpdate.Add(newest); + } + } + } + + //Commit the updated entries for the cmsDocument table + using (var transaction = uow.Database.GetTransaction()) + { + //Loop through the toUpdate + foreach (var dto in toUpdate) + { + uow.Database.Update(dto); + } + + transaction.Complete(); + } + } + } + } +} \ No newline at end of file