<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>VS.ΝΕΤ Source Control &amp; SourceSafe</title><link>https://www.dotnetzone.gr:443/cs/forums/82/ShowForum.aspx</link><description>Συζήτηση θεμάτων σχετικά με το integration του Source Control στο Visual Studio και του SourceSafe.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Re: Απ: Source control - διαχείριση προσωρινών αλλαγών</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/51289.aspx</link><pubDate>Thu, 04 Jun 2009 06:43:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:51289</guid><dc:creator>sakis_drm</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/51289.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=82&amp;PostID=51289</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Dimitris Papadimitriou:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Ο τρόπος που συνιστώ εγώ είναι να κρατάς την βάση σου σε sql αρχεία στο source control σου.&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Αυτό σημαίνει πως και την υλοποίηση της βάσης πρέπει να την κάνεις γράφοντας διαρκώς DDL scripts για κάθε issue?&lt;br&gt;και άρα να χάνεις τις λειτουργίες και τις ευκολίες του γραφικού περιβάλλοντος για την δημιουργία και επέκταση της database?&lt;br&gt;&lt;i&gt;&lt;br&gt;"At a certain level, if you really want your database under TRUE version
control inside of a repeatable process, everything needs to be in
scripts. AFAIK, there's no easy way to point-and-click your way to a
version-controlled database. You have to use DDL&lt;/i&gt;"&lt;br&gt;&lt;br&gt;Ή μπορείς να κάνεις την υλοποίηση από το γραφικό περιβάλλον και μετά πριν κάνεις commit,&lt;br&gt;&amp;nbsp; να συγκρίνεις την βάση (με Red Gate) που έφτιαξες, με αυτή που είχες πάρει αρχικά... &lt;br&gt;Πάντα βέβαια δε μπορεί να εγγυηθεί κανένας ότι το script μετά θα παίξει 100%&lt;br&gt;π.χ. όταν έρθει η ώρα για τη δημιουργία του release script μπορεί να συγκρούεται με κάποιο από ένα άλλο commit.&lt;br&gt;&lt;br&gt;Η διαδικασία της να λαμβάνεται backup της βάσης και να δημοσιεύεται σε έναν ftp είναι τελείως άκυρη? &lt;br&gt;Εχει παίξει ποτέ κανείς έτσι? ή είναι τελείως βάσανο? &lt;br&gt;Ξέρουμε τα υπόλοιπα μειονεκτήματα πλήν του μεγαλύτερου απαιτούμενου χώρου για να μπορείς να κρατάς versioning, και το ότι θα έχεις τα recources και την model db σε διαφορετικά σημεία?&lt;br&gt;</description></item><item><title>Απ: Source control και βάσεις δεδομένων - Δουλεύοντας ομαδικά</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/51255.aspx</link><pubDate>Wed, 03 Jun 2009 16:17:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:51255</guid><dc:creator>manosB</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/51255.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=82&amp;PostID=51255</wfw:commentRss><description>Επίσης να προσθέσω ότι ο χρήστης που θα κάνει αλλαγές στην πρότυπη βάση θα είναι ένας. Δηλαδή αν διάφορα μέλη της ομάδας κανουν τοπικά αλλαγές δεν πάνε βουρ να ενημερώσουν την κύρια βάση αλλά φτιάχνουν scriptakia και τα παραδίδουν στον υπεύθυνο βάσης που κάνει τις αλλαγές. (Μάλιστα το όνομα του Script και ένας αύξων αριθμός καλό είναι να κρατείται σε ένα πίνακα στην ίδια βάση). Έτσι όλοι είναι πιο υπεύθυνοι και πιο aware για τις αλλαγές που κάνουν στην βάση.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Το ίδιο άτομο θα είναι επιφορτισμένο με τον ρόλο του να βγάζει το τελικό Script αναβάθμισης συγκρίνοντας πρότυπη και production βάση.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Ο ρόλος του Database manager Μπορεί να εναλλάσεται μεταξύ των μελών της ομάδας περιοδικά ώστε να υπάρχει η τεχνογνωσία των διαδικασιών σε περιπτώσεις απωλειών, διακοπών, αδειών κλπ.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Φανταστείτε να έχετε 1000 βάσεις εγκατεστημένες σε πελάτες και να μην στείλετε σωστά μια αλλαγή επειδή δεν συννενοήθηκαν τα μέλη της Dev Team.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Το σύνηθες σενάριο που έχω δει πολλές φορές να γίνεται επειδή δεν παρακολουθείται η παραπάνω διαδικασία είναι να μην είμαστε σίγουρα πια βάση έχει τις σωστές αλλαγές και να ξεκινάνε τα Compare μέχρι τελικής πτώσεως.&lt;/div&gt;&lt;/div&gt;</description></item><item><title>Απ: Re: Απ: Source control - διαχείριση προσωρινών αλλαγών</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/51248.aspx</link><pubDate>Wed, 03 Jun 2009 06:40:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:51248</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/51248.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=82&amp;PostID=51248</wfw:commentRss><description>&lt;P&gt;Ο τρόπος που συνιστώ εγώ είναι να κρατάς την βάση σου σε sql αρχεία στο source control σου, όπως κάνεις και για τα υπόλοιπα αρχεία κώδικα. Μπορείς να έχεις και ένα batch file το οποίο θα τρέξει αυτά τα sql αρχεία και θα δημιουργεί την βάση στον υπολογιστή του κάθε developer. Μπορείς επίσης να έχεις και ένα sql αρχείο με sample data.&lt;/P&gt;
&lt;P&gt;Σε αυτό βοηθάει και το visual studio με τα database projects ή τα sql server projects. Διάβασε π.χ. αυτό &lt;A href="http://www.codinghorror.com/blog/archives/000743.html"&gt;http://www.codinghorror.com/blog/archives/000743.html&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Με αυτό τον τρόπο έχεις και το πλεονέκτημα ότι η εξέλιση του σχήματος της βάσης σου είναι πλέον αντικείμενο versioning. Οπότε αν θέλεις να γυρίσεις κάποια στιγμή τον κώδικά σου σε ένα προγενέστερο σημείο, μπορείς να είσαι σίγουρος ότι εκεί θα βρεις και την αντίστοιχη βάση όπως ήταν τότε. Το ίδιο αν αποφασίσεις να κάνεις ένα branch.&lt;/P&gt;
&lt;P&gt;edited: Έσπασα το ερώτημα σε ξεχωριστή συζήτηση καθώς δεν σχετιζόταν άμεσα με το αρχικό θέμα κάτω από το οποίο δημοσιεύτηκε.&lt;/P&gt;</description></item><item><title>Source control και βάσεις δεδομένων - Δουλεύοντας ομαδικά</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/51247.aspx</link><pubDate>Wed, 03 Jun 2009 05:07:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:51247</guid><dc:creator>sakis_drm</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/51247.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=82&amp;PostID=51247</wfw:commentRss><description>&lt;UL&gt;
&lt;LI&gt;Όσον ανφορά τη βάση δεδομένων έστω ότι είναι σε sql server..&amp;nbsp; τι γίνεται με τη συντήρηση αυτής? Αυτή λογικά δεν είναι ενσωματωμένη στο svn.&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;Απλά κρατιέται ένα backup της με version name και μοιράζεται σε κάποιον ftp?&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;Πως μπορεί μια ομαδα να δουλέψει και να ξέρει ότι όταν κάνει synchronize τον κώδικα από το svn και έχει την τάδε βάση ότι είναι οκ?&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;Επίσης οι αλλαγές που κάνει κάποιος προγραμματιστής στη βάση που κατεβάζει τοπικά, πως περνάνε στην πρότυπη βάση που είναι π.χ. στον ftp? Αν την ίδια στιγμή είχε κάνει και κάποιος άλλος προγραμματιστής αλλαγές στη βάση, όταν την ανεβάσει δεν θα έχει και τις αλλαγές του πρώτου..&lt;/LI&gt;&lt;/UL&gt;</description></item></channel></rss>