black Posted December 27, 2006 Report Share Posted December 27, 2006 (edited) Man ir kaut kas līdzīgs CMS sistēmai, kur var pievienot, labot, dzēst kaut kādus objektus. Lai būtu vieglāk saprast, pieņemsim, ka tie ir weblapas ziņu ieraksti, kas sastāv no virsraksta, ziņas satura, un publicēšanas datuma. Tas, ko es gribu - lai pēc raksta rediģēšanas parādītos undo poga, kas ļautu atcelt, piemēram, pēdējās 3 notikušās izmaiņas. Jautājums - vai kāds no jums ir taisījis kaut ko tamlīdzīgu ar MySQL? Viens no variantiem droši vien būtu katrai tabulai (piem, news) uztaisīt vēl vienu tabulu (piem, news_history), un uzrakstīt pāris trigerus (ON INSERT/UPDATE/DELETE), kas izmaiņas saglabā history tabulā. Kādi ieteikumi / pārdomas par tēmu? Edited December 27, 2006 by black Link to comment Share on other sites More sharing options...
rpr Posted December 27, 2006 Report Share Posted December 27, 2006 veeel viens variants vareetu buut, ka tajaa pashaa tabulaa liec iekshaa visas izmainjas. katrs labojums izveido jaunu ierakstu, ar parent id, kuraa tiek noraadiita ieprieksheejaa versija. bet tu saproti, ka shaada tabula izaugs diezgan aatri. njemot veeraa no savas pieredzes, ka viens raksts parasti tiek labots vairaakas reizes. nu reekjini, ka tabula buus 3x lielaaka nekaa taa vareetu buut. Link to comment Share on other sites More sharing options...
black Posted December 27, 2006 Author Report Share Posted December 27, 2006 Nu jā, ar to, ka tas aizņems vairāk vietas, rēķinos. Link to comment Share on other sites More sharing options...
Delfins Posted December 28, 2006 Report Share Posted December 28, 2006 Kādi ieteikumi / pārdomas par tēmu? Liekas tas ir vienīgais veids kā uztaisīt undo - glabāt `history` tabulā. Ja vajag vairākas tabulas, tad var izmantot vienu kopīgo tabulu, kurā iekšā būs saformēts "vecais ieraksts" XML-ā. (principā varēs uzkabināt uz jebkuru tabulu) Link to comment Share on other sites More sharing options...
Recommended Posts