2014-02-16 3 views
0

Извините, если заголовок немного странный, его трудно объяснить в 1 предложении.MySQL - получить содержимое последней версии из базы данных управления версиями

У меня есть 2 таблицы:

  1. версия
  2. fileChange

fileChange создается только если файл удаляется, создается или редактируется с момента последней версии.
Каждое fileChange связано с версией, скажем, с версией 23.
Каждый файл имеет переменный тип: созданный, отредактированный или удаленный.
Каждое fileChange имеет поле файла, которое содержит относительный путь от корня к файлу.
Если fileChange создается или редактируется, столбец содержимого заполняется содержимым из созданного/отредактированного файла.

Все это для системы контроля версий/развертывания, которую я строю.

Когда я создаю новую установку сервера, я хочу загрузить последнюю версию на сервер. Я могу, конечно, пропустить все файлы с версии 1 до последней версии и получить последнюю версию, но мне любопытно узнать, есть ли способ сделать это в 1 или 2 запросах MySQL.

Итак, моя цель - собрать все строки fileChange, которые влияют на последнюю версию программного обеспечения. Другое объяснение:

Как я могу получить все файлы, которые либо «созданы», либо «отредактированы», и не имеют более позднего файла с тем же путем?

ответ

0

попробуйте выполнить запрос ниже. он присоединяется к версии и filechange таблицы (предполагается, что оба имеют столбец с именем id, затем упорядочивает результаты нисходящие и ограничивает результат один (последний) ряд

SELECT * 
FROM fileChange 
JOIN version ON version.id=fileChange.id 
WHERE version.date_of_version_creation < fileChange.date_of_file_creation 
ORDER BY version.id DESC 
LIMIT 0 , 1 
+0

Это даже близко не то, что я ищу для. Вы читали мой вопрос? – Basaa

+0

не видел последнюю строку, ответил на 1-й: y цель - получить все строки fileChange, которые влияют на последнюю версию программного обеспечения. – Vickel

+0

Файловый обмен вставляется только в том случае, если я создаю новая версия, и файл был изменен/отредактирован/удален с последней версии. – Basaa

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