Miesięczne archiwum: Listopad 2010

Backup pakietów Cydia

iTunes automatycznie opiekuje się aplikacjami z App Store, odtwarzając je po aktualizacji firmware. Niestety cydia nie robi tego (jeszcze) ze swoimi pakietami, i każdorazowo trzeba się z tym męczyć. Big Boss oferuje prosty programik – AptBackup – który wg opisu zachowuje listę pakietów i źródeł dodanych do cydii, jednak w praktyce czasami nie działa…

Z pomocą przychodzi sama cydia, a konkretnie narzędzia dla których jest ona frontendem. Użytkownicy debiana/ubuntu rozpoznają poniższe komendy :)

Logujemy się na urządzenie przez ssh i odpalamy:

dpkg --get-selections > /cydia.backup

Pliczek /cydia.backup kopiujemy sobie z telefonu na swój komputer i bezstresowo aktualizujemy i jailbreakujemy iPhona. Uruchamiamy cydię i instalujemy OpenSSH oraz APT (aby móc zainstalować APT trzeba wybrać rolę ‚developer’ w cydii)

Na zakończenie, wkopiowujemy nasz plik z powrotem na telefon, logujemy się przez ssh i odpalamy:

dpkg --set-selections < /cydia.backup 
apt-get dselect-upgrade
reboot

I jesteśmy w domu :)

Usuwanie wszystkich danych z bazy na SQL Server

Czasami zachodzi potrzeba wyczyszczenia całej bazy danych. Jednym rozwiązaniem jest usunięcie bazy i odtworzenie całej struktury, jednak czasem jest to nieporęczne. Alternatywnie można skorzystać z wbudowanej procedury sp_MSForEachTable, która wykonuje zadane zapytanie na wszystkich tabelach w bazie.

Wykonamy więc następujące czynności:

  1. Wyłączenie constraintów
  2. Usunięcie danych
  3. Włączenie constraintów
  4. Zresetowanie kolumn typu identity

Skrypt:

EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
 
EXEC sp_MSForEachTable '
 IF OBJECTPROPERTY(object_id(''?''), ''TableHasForeignRef'') = 1
  DELETE FROM ?
 else 
  TRUNCATE TABLE ?
'
GO
 
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO
 
EXEC sp_MSForEachTable ' 
IF OBJECTPROPERTY(object_id(''?''), ''TableHasIdentity'') = 1 
DBCC CHECKIDENT (''?'', RESEED, 0) 
' 
GO

Rozwiązanie zapożyczone z Small Workarounds

Windows: whereis

Brak podstawowych narzędzi, do których przyzwyczaja nas Unix, w Windowsie jest zawsze bolesny kiedy natrafi się na ścianę. Poniższy prosty pliczek bat podebrany z bloga The Old New Thing elegancko zastępuje narzędzie whereis na Windowsie.

@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i