דלגו לתוכן

Environment Merge

תכונת Environment Merge מאפשרת לך להחיל שינויי סכמה מסביבה אחת (מקור) לאחרת (יעד). זו הפעולה המרכזית שמפיצה שינויים מבניים — כמו טבלאות, עמודות, views ו-enums חדשים — לאורך מחזור החיים של הפיתוח שלך.


תהליך ה-merge מתוכנן להיות בטוח, צפוי ושקוף:

  1. בחירה: בחר סביבת מקור (מאיפה הגיעו השינויים) וסביבת יעד (איפה תרצה להחיל אותם).
  2. ניתוח: המערכת מבצעת diff כדי לזהות את כל השינויים החסרים בסביבת היעד.
  3. סקירה ו-Cherry-pick: סקור את השינויים שזוהו ובחר באופן סלקטיבי אילו להחיל.
  4. גיבוי אוטומטי: לפני החלת כל שינויים, Archie Core יוצר גיבוי מלא של הנתונים והמבנה של סביבת היעד.
  5. יישום אטומי: השינויים שנבחרו מיושמים כפעולה אחת. אם כל חלק מה-merge נכשל, כל הפעולה מתבטלת אוטומטית.

Archie Core מבטיח את שלמות סביבות הייצור וה-staging שלך במהלך merge:

  • עדכונים טרנזקציוניים: כל שינויי הסכמה מיושמים בתוך טרנזקציה אחת. זה אומר שהכל השינויים שנבחרו מיושמים בהצלחה, או שאף אחד — מונע ממסד הנתונים שלך להיכנס למצב מיגרציה חלקי.
  • נעילת סביבה: בעוד merge מתבצע, סביבת היעד ננעלת כדי למנוע שינויי הגדרות מקבילים.
  • גיבויים אוטומטיים לפני merge: תמיד נוצר גיבוי “רשת ביטחון” מיד לפני הביצוע. אם merge מצליח אבל אתה מגלה בעיה מאוחר יותר, תוכל לשחזר למצב המדויק לפני ה-merge באמצעות דף Backups.

ממשק ה-merge מאפשר שליטה מדויקת על מה נעה:

  • בחירה בודדת: הפעל או כבה שינויים ספציפיים (כמו הוספת עמודה בודדת או אינדקס חדש) בלי למזג את כל הענף.
  • פעולות קבוצה: בחר או בטל בחירה במהירות של כל השינויים הקשורים לטבלה או view מסוימים.
  • הגנה מפני שינויים Breaking: פעולות הרסניות (כמו הסרת עמודה) לא נבחרות מראש כברירת מחדל. עליך לבחור במפורש בשינויים האלה כדי למנוע אובדן נתונים בטעות.

כל פעולת merge נרשמת במסלול ביקורת מרוכז. דף היסטוריה לסביבה מציג:

  • יומן ביקורת: מי יזם את ה-merge, אילו סביבות היו מעורבות, ומתי זה קרה.
  • סיכום שינויים: פירוט ברור של מה נוצר, שונה או הוסר.
  • אפשרות מעקב: תיעוד של פקודות ה-SQL הספציפיות שבוצעו במהלך המיגרציה.
  • קישור גיבוי: גישה ישירה לגיבוי האוטומטי שנוצר במיוחד למיגרציה הזו.

אם אתה צריך לבטל merge, עליך להשתמש בדף Backups כדי לשחזר את הסביבה למצב “לפני merge”.

הערה: בניגוד לביטול פשוט, פעולת שחזור מחזירה את כל מסד הנתונים לנקודת זמן קודמת. אנו ממליצים לאמת שינויים בסביבת staging לפני merge לייצור.


mutation MergeEnvironments($input: MergeEnvironmentInput!) {
mergeEnvironments(input: $input) {
success
message
migrationId
changesApplied
backupId
}
}
query MigrationHistory($projectId: ID!, $environment: String) {
migrationHistory(projectId: $projectId, environment: $environment) {
id
sourceEnvironment
targetEnvironment
status
appliedBy
appliedAt
changes {
changeType
objectName
sql
isBreaking
}
backupId
}
}