C#/.NET - Непрерывная Интеграция и Развертывание FTP

«a» - это псевдоним таблицы :

SELECT a.id, a.rev, a.content
FROM `docs` a    # HERE, on this line, the table is given an alias of a
INNER JOIN (
    SELECT id, MAX(rev) rev
    FROM `docs`
    GROUP BY id
) b ON a.id = b.id AND a.rev = b.rev;

Этот псевдоним объявляется сразу после имени таблицы в предложении from (как указано выше).

Псевдонимы используются для сокращения и / или уточнения запроса. Есть несколько мест, где можно объявить псевдоним, например

.
#table alias
from tablex as x

#derived table (subquery) alias
select d.* from (select * from t where col1 = 'xyz') as d

#column alias
select col1 as xyz
from tablex as x

Обратите внимание, что «как», показанное выше, является необязательным в большинстве баз данных, Oracle не разрешает использовать «как» при объявлении псевдонимов таблицы или подзапроса.

SELF JOINS

Псевдонимы таблиц жизненно важны, когда вы присоединяете таблицу к себе

select
     t1.id as t1_id
   , t2.id as t2_id
from tablex as t1
inner join tablex as t2 on t1.fk = t2.id

Без этих псевдонимов t1 и t2 этот запрос просто не может работать.


РЕДАКТИРОВАТЬ

К сожалению, слишком часто мы видим псевдонимы, в которых псевдонимы определяются «в порядке» в запросе. В вашем примере первый - «а», а второй - «б» и т. Д.

1113 Это плохая практика. Гораздо более значимым способом использования псевдонимов является использование «первых букв» каждого слова в имени таблицы или присвоение некоторого значения подзапросу.

В этом примере я бы предложил «d» (для документов) и «mr» (для max (rev))

SELECT d.id, d.rev, d.content, mr.rev
FROM `docs` as d 
INNER JOIN (
    SELECT id, MAX(rev) rev
    FROM `docs`
    GROUP BY id
) as mr ON d.id = mr.id AND d.rev = mr.rev;
6
задан BuddyJoe 3 May 2009 в 21:28
поделиться

3 ответа

Я бы пошел с msbuild и mbunit для модульных тестов. Для FTP-части google for msbuild настраиваемые задачи с FTP, и вы должны готовить на газе.

2
ответ дан 16 December 2019 в 21:45
поделиться

We do the same thing with Zed Builds and Bugs Manager from Hericus Software.

We have to combine the .Net assemblies with C++ dll's and package the whole thing together into a Java installation (imagine that confusion :-) ). We also use FTP to upload some components of the build (not the whole thing) to other systems that need pieces of what the build produces.

After everything has all been rolled together, the nice thing about the Zed server is that it becomes our system where everyone knows where to get their artifacts from. It handles promotion from Dev to QA to Production, and tracks the builds through this lifecycle.

0
ответ дан 16 December 2019 в 21:45
поделиться

Я исторически использовал CruiseControl , который работал просто отлично, но я также слышал хорошие вещи о TeamCity . Что касается задач FTP для MSBuild (что, безусловно, вам и нужно), то в сети есть кое-что для поиска. Когда я проверял в прошлый раз (что было не совсем недавно) все, что я обнаружил, имело тот или иной недостаток, так что я в итоге написал его сам (оборачивая FtpWebRequest в .NET). Хотя это может быть не самой лучшей реализацией FTP, задача предоставила мне необходимую функциональность (загрузка структур каталогов, удаленное удаление). Я полагаю, что сегодня могут быть доступны задачи, обеспечивающие эту функциональность (в противном случае, возможно, мне следует просто опубликовать мою ...)

1
ответ дан 16 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: