2016-07-27 3 views
1

Поскольку я работаю над проектом, который включает в себя несколько разработчиков, и мы используем DVCS, каждый разработчик будет работать с назначенной им ветвью функций. При этом ветви признаков разветвлены от последней ветви develop. В develop ветви, версия дб в DatabaseHandler являетсяAndroid: Управление версиями DB

частного статическим окончательным ИНТ DATABASE_VERSION = 2;

В моей ветке свойств я должен создать новый стол. Поэтому мне нужно увеличить версию до 3, поэтому я могу включить следующее в onUpgrade для выполнения инструкции CREATE_APPLIANCE_TABLE.

Моя забота заключается в том, что, если другой разработчик должен также создать новый стол, он выполняет тот же процесс, что и я. Он увеличивает версию в своей функциональной ветви до 3? И если да, то каким должен быть наш следующий шаг, когда мы или оба из нас закрываем нашу ветку функций и объединяем ее в develop? Поскольку мы оба отредактировали один и тот же файл, возможны конфликты. Итак, в ветке develop, версия останется на 3, или?

Заранее спасибо. :)

ответ

2

Как я понимаю ваши вопросы. Когда вы объедините свои файлы кода, вы можете поместить все свои таблицы и свои таблицы в одну версию базы данных. Как что:

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    Log.d("Database onUpgrade", "Old is: " + oldVersion + ". New is: " + newVersion); 
    switch(oldVersion) { 
     case **N**: 
     db.execSQL(CREATE_YOUR_DATABASE); 
     db.execSQL(CREATE_HIS_DATABASE); 
} 
+0

Значит ли это, когда оба наших файла объединены в 'develop', версия базы данных будет 3? Первоначально в 'develop' есть 2. Но по нашей индивидуальной функции мы увеличились до 3, потому что нам нужно добавить 1 новую таблицу для нашей функции. –

+1

Если вы оба сделаете это 3 - это будет 3. Если вы сделаете это 2, но он сделает это 3 - это будет 3 –

+0

Yup, мы оба сделали это 3 для того, чтобы 'onUpgrade' был выполнен. Хорошо, спасибо за помощь! –

1

Как я понимаю, Когда два разработчики работают на тот же файл, в то время слияния ФИЛИАЛОВ последний тянуть изменения получите конфликт в этом файл. Таким образом, последний разработчик для переноса изменений может объединить изменения вручную после разрешения всех конфликтов.

В вашем случае, если версия для разработки - 2 (предположим, что версия на рынке apk равна 2), то следующая версия выпуска (рынок apk) для всех филиалов будет 3, если все функции включены в эту версию.

+0

yeap, последний разработчик увидит код A (его) и код B (первого разработчика), и он должен объединить оба кода Code C. –

Смежные вопросы