none
ניהול גרסאות ב- DB לצורך Continuous Integration RRS feed

  • שאלה

  • שלום.

    אנחנו מנהלים את סביבת הפיתוח שלנו ב- VisualStudio Source Control, מה שעבד מצוין עד כה.
    ה- CI האפליקטיבי מנוהל בשרת Jenkins.
    עכשיו אנחנו רוצים לצרף גם את ה- DB לתהליך של CI.
    המטרה, בגדול, היא שכל שינוי אפליקטיבי שנעשה ע"י מפתח יעלה ל- source control אך ורק עם השינוי DB שרלוונטי לאותה חתיכת קוד.

    רציתי לדעת אם מישהו היום עושה את זה, כי יש כמה דרכים ליישם את זה וקיוויתי לשמוע מה עובד לכם (או יותר נכון- מה עובד טוב...).

    תודה! :)


    יום רביעי 21 אוגוסט 2013 08:02

תשובות

  • שלום רב,

    מציע שתבדוק את יכולות ה- SSDT בנושא :

    http://blogs.msdn.com/b/ssdt/archive/2012/07/17/managing-database-change-in-source-control.aspx

    בהצלחה.


    Best Regards,

    Itai Binyamin, MVP

    SQL Server Domain Expert

    Dell

    www.ItaiBinyamin.Blogspot.com


    • נערך על-ידי Itai Binyamin יום רביעי 21 אוגוסט 2013 09:15
    • הוצע כתשובה על-ידי Itai Binyamin יום רביעי 21 אוגוסט 2013 09:17
    • סומן כתשובה על-ידי Eran Sharvit יום שלישי 27 אוגוסט 2013 09:16
    יום רביעי 21 אוגוסט 2013 09:14
  • אני יכול להמליץ על שני כלים של Red Gate:

    1. SQL Connect - מאפשר לעבוד עם הVS על שרת SQL SERVER ובכך מאפשר למפתחים לא לעבוד עם SSMS וישירות מול הVS עם כל יכולות הTFS.
    2. SQL Source Control - מסנכרן את SSMS אל תיקיית TFS ומאפשר לעשות CHECK IN'S ישירות עם SSMS , החיסרון העיקרי של PLUG-IN הזה הוא שהוא לא מונע מהמפתחים לפתוח אובייקטים שהם בCHECK OUT, אומנם הוא מסמן את האובייקט בצבע שונה אך הוא לא מושלם בעבודה עם SHARED.

    שני הכלים מאפשרים סינכרון דו כיווני וגם השוואה בין הסקריפטים בTFS ולשרת, אני מאמין שמיגרציה לVS היא הכרחית וחשובה לעבודה מול TFS ועם אפשרות לעבוד עם נעילת אובייקטים שכרגע ב-CHECKOUT.

    שני הכלים לא שווים כלום אם אחד המפתחים משנה דברים ישירות מול השרת(SQL) .

    אסף

    • סומן כתשובה על-ידי Hilayo יום שלישי 01 אוקטובר 2013 08:09
    יום שלישי 27 אוגוסט 2013 09:14

כל התגובות

  • שלום רב,

    מציע שתבדוק את יכולות ה- SSDT בנושא :

    http://blogs.msdn.com/b/ssdt/archive/2012/07/17/managing-database-change-in-source-control.aspx

    בהצלחה.


    Best Regards,

    Itai Binyamin, MVP

    SQL Server Domain Expert

    Dell

    www.ItaiBinyamin.Blogspot.com


    • נערך על-ידי Itai Binyamin יום רביעי 21 אוגוסט 2013 09:15
    • הוצע כתשובה על-ידי Itai Binyamin יום רביעי 21 אוגוסט 2013 09:17
    • סומן כתשובה על-ידי Eran Sharvit יום שלישי 27 אוגוסט 2013 09:16
    יום רביעי 21 אוגוסט 2013 09:14
  • היי,

    במקום העבודה הקודם שלי ניהלנו את הסקריפטים ב-TFS, ומי ששינה את הקוד האפליקטיבי דאג שהשינוי ב-Database יהיה באותו Changeset עם הקוד. 

    במקביל, היה MSI שדאג להריץ את הסקריפטים בהתקנה או בשדרוג.

    בנוסף, יש כלי שנקרא SQL Source Control של חברת Red-Gate. לא בדקתי אותו, אבל אולי שווה להציץ עליו.

    מתן


    My Blog

    יום חמישי 22 אוגוסט 2013 13:25
  • אני יכול להמליץ על שני כלים של Red Gate:

    1. SQL Connect - מאפשר לעבוד עם הVS על שרת SQL SERVER ובכך מאפשר למפתחים לא לעבוד עם SSMS וישירות מול הVS עם כל יכולות הTFS.
    2. SQL Source Control - מסנכרן את SSMS אל תיקיית TFS ומאפשר לעשות CHECK IN'S ישירות עם SSMS , החיסרון העיקרי של PLUG-IN הזה הוא שהוא לא מונע מהמפתחים לפתוח אובייקטים שהם בCHECK OUT, אומנם הוא מסמן את האובייקט בצבע שונה אך הוא לא מושלם בעבודה עם SHARED.

    שני הכלים מאפשרים סינכרון דו כיווני וגם השוואה בין הסקריפטים בTFS ולשרת, אני מאמין שמיגרציה לVS היא הכרחית וחשובה לעבודה מול TFS ועם אפשרות לעבוד עם נעילת אובייקטים שכרגע ב-CHECKOUT.

    שני הכלים לא שווים כלום אם אחד המפתחים משנה דברים ישירות מול השרת(SQL) .

    אסף

    • סומן כתשובה על-ידי Hilayo יום שלישי 01 אוקטובר 2013 08:09
    יום שלישי 27 אוגוסט 2013 09:14
  • הי אסף.

    תודה על התשובה!

    אנחנו בדיוק בוחנים את האפשרות של לעבוד עם Red-Gate.

    אני עדיין תוהה האם הכלים האלו מאפשרים ניהול גרסאות של DB Deployments. 
    לצורך העניין- היום, אצלנו, אנחנו עובדים עם ה- SSDT של Visual Studio. אם שני אנשים עובדים שם במקביל על פרויקט DB, וכל אחד עושה שינוי אחר (בצ'ק אאוט כמובן)... ברגע ששניהם יעשו צ'ק אין לשינויים שלהם, הפיבלוש של ה- DB יכיל את שני השינויים יחד. כרגע בקונסטלציה הזו אין לנו אפשרות להעלות רק שינוי אחד מתוך השניים שהועלו ל- Source Control.

    לכן, מה שעוד לא הצלחתי להבין מהכלים של Red-Gate, זה האם הם נותנים את האפשרות הזו של להעלות גרסה ספציפית, או שתמיד הוא ישאף לקחת את ה- Latest?

    האם אתם עובדים כך?

    תודה!

    יום שלישי 01 אוקטובר 2013 08:16