[wiki:TruckExpoPlanMigracji <- Powrót] == Kroki do przeprowadzenia migracji bazy TruckExpo do BazaReklam == 1. Tabela '''''[Lista Tytułów]''''' * dodać nowy rekord o id=35, pozostałe wartości patrz tabela w bazie TruckExpo {{{ SET IDENTITY_INSERT [LISTA TYTUŁÓW] ON INSERT INTO [LISTA TYTUŁÓW](id, Symb, [Tyt Full Name], [Tyt Long Name], [Tyt Period], [Hasło Reklamowe], Logo_File_Name, st_aktywny, Symb2, max_rabat) SELECT * FROM Truck_Expo.dbo.[LISTA TYTUŁÓW] WHERE SYMB='EXPO' SET IDENTITY_INSERT [LISTA TYTUŁÓW] OFF }}} 2. Tabela '''''Grzbiety''''' * dodać nowy rekord o ID=19, Nazwa='EXPO-A', Koszt_Druku=111.0000 {{{ SET IDENTITY_INSERT GRZBIETY ON INSERT INTO GRZBIETY(ID, Nazwa, Koszt_Druku) SELECT * FROM Truck_Expo.dbo.GRZBIETY WHERE Nazwa LIKE '%EXPO%' SET IDENTITY_INSERT GRZBIETY OFF }}} 3. Tabela '''''[Nazwy Modułów]''''' * przenieść dane do BazaReklam, patrz kolumna 'tytul'='EXPO' {{{ INSERT INTO [NAZWY MODUŁÓW](MOD_TYP, MOD_SZER, MOD_WYS, CENA_MIN, CENA, CENA_Euro, ST_AKTYWNY, tytul, opis) SELECT MOD_TYP, MOD_SZER, MOD_WYS, CENA_MIN, CENA, CENA_Euro, ST_AKTYWNY, tytul, opis FROM Truck_Expo.dbo.[NAZWY MODUŁÓW] WHERE tytul='EXPO' }}} 4. Tabela '''''NR''''' * przenieść kalendarz wydawniczy dla EXPO {{{ INSERT INTO [NR](TYT, NRW, DATA_W) SELECT TYT, NRW, DATA_W FROM Truck_Expo.dbo.[NR] WHERE TYT='EXPO' }}} 5. Tabele '''''KL_1''''', '''''KL_2''''', '''''KL_3''''' * dodać odpowiednio rekordy z bazy TruckExpo, wartości ID powinny być OK, należy włączyć IDENTITY_INSERT w tych tabelach {{{ SET IDENTITY_INSERT KL_1 ON INSERT INTO KL_1(ID_KL_1, KL_1) SELECT * FROM Truck_Expo.dbo.KL_1 SET IDENTITY_INSERT KL_1 OFF SET IDENTITY_INSERT KL_2 ON INSERT INTO KL_2(ID_KL_2, ID_KL_1, KL_2) SELECT * FROM Truck_Expo.dbo.KL_2 SET IDENTITY_INSERT KL_2 OFF SET IDENTITY_INSERT KL_3 ON INSERT INTO KL_3(ID_KL_3, ID_KL_2, ID_KL_1, KL_3) SELECT * FROM Truck_Expo.dbo.KL_3 SET IDENTITY_INSERT KL_3 OFF }}} 6. Tabela '''''KL_Klienci''''' * przenieść dane do BazaReklam, zwrócić uwagę na CustomerID oraz na pola ID z tabel '''''KL_1''''', '''''KL_2''''', '''''KL_3''''', one jednak powinny zostać nieruszone, gdy uda się import z kroku powyżej 7. Tabela '''''Agenci''''' * dodać do Baza_Reklam agentów z Truck_Expo {{{ INSERT INTO Agenci (ID_AGENCJI, Symbol, [Imię], Nazwisko, ulica, kod, miasto, woj, [państwo], tel, fax, opis, [konto-wn], [konto-ma], [konto-pr], podstawa, aktywny, pracownicy, [hasło], admin, F_ROZ, New_ID, Old_ID, show_info, ID_PLANU_PROWIZYJNEGO, FotkaDoMenuStart ) SELECT ID_AGENCJI, Symbol, [Imię], Nazwisko, ulica, kod, miasto, woj, [państwo], tel, fax, opis, [konto-wn], [konto-ma], [konto-pr], podstawa, '0' AS aktywny, pracownicy, [hasło], admin, F_ROZ, New_ID, Old_ID, show_info, ID_PLANU_PROWIZYJNEGO, FotkaDoMenuStart FROM Truck_Expo.dbo.Agenci WHERE Symbol NOT IN (SELECT Symbol FROM Agenci) AND Symbol<>'xxx' }}} 8. Tabela '''''Konta''''' * dodać do Baza_Reklam konta bankowe używane w Truck_Expo {{{ SET IDENTITY_INSERT dbo.Konta ON INSERT INTO dbo.Konta(IdKonta, idAgencji, Konto, id, opis, waluta_miano) SELECT IdKonta, idAgencji, Konto, id, opis, waluta_miano FROM Truck_Expo.dbo.Konta WHERE id in ( SELECT DISTINCT id_konta FROM Truck_Expo.dbo.faktury WHERE id_faktury in ( SELECT id_faktury FROM Truck_Expo.dbo.reklama WHERE [id reklamy] like 'X%' and [tytuł]='EXPO' and id_faktury is not null ) ) SET IDENTITY_INSERT dbo.Konta OFF }}} 9. Kolumna '''''!AgentExpo''''' * Po migracji skopiować nazwę agenta z Truck_Expo dla starych klientów, jeśli nazwa agenta różna w obu bazach {{{ UPDATE Klienci SET AgentExpo=Expo.ExpoAgent FROM ( SELECT B.CustomerID BazaID, B.UserName BazaAgent, E.CustomerID ExpoId, E.UserName ExpoAgent FROM Klienci B INNER JOIN Truck_Expo.dbo.Klienci E ON B.CustomerId = E.CustomerId AND B.UserName<>E.UserName WHERE E.CustomerId<=56710 AND B.CustomerId<=56710 ) Expo WHERE Expo.BazaId=CustomerId }}} [wiki:TruckExpoPlanMigracji <- Powrót] == Cały skrypt == {{{ SET IDENTITY_INSERT [LISTA TYTUŁÓW] ON INSERT INTO [LISTA TYTUŁÓW](id, Symb, [Tyt Full Name], [Tyt Long Name], [Tyt Period], [Hasło Reklamowe], Logo_File_Name, st_aktywny, Symb2, max_rabat) SELECT * FROM Truck_Expo.dbo.[LISTA TYTUŁÓW] WHERE SYMB='EXPO' SET IDENTITY_INSERT [LISTA TYTUŁÓW] OFF SET IDENTITY_INSERT GRZBIETY ON INSERT INTO GRZBIETY(ID, Nazwa, Koszt_Druku) SELECT * FROM Truck_Expo.dbo.GRZBIETY WHERE Nazwa LIKE '%EXPO%' SET IDENTITY_INSERT GRZBIETY OFF INSERT INTO [NAZWY MODUŁÓW](MOD_TYP, MOD_SZER, MOD_WYS, CENA_MIN, CENA, CENA_Euro, ST_AKTYWNY, tytul, opis) SELECT MOD_TYP, MOD_SZER, MOD_WYS, CENA_MIN, CENA, CENA_Euro, ST_AKTYWNY, tytul, opis FROM Truck_Expo.dbo.[NAZWY MODUŁÓW] WHERE tytul='EXPO' INSERT INTO [NR](TYT, NRW, DATA_W) SELECT TYT, NRW, DATA_W FROM Truck_Expo.dbo.[NR] WHERE TYT='EXPO' SET IDENTITY_INSERT KL_1 ON INSERT INTO KL_1(ID_KL_1, KL_1) SELECT * FROM Truck_Expo.dbo.KL_1 SET IDENTITY_INSERT KL_1 OFF SET IDENTITY_INSERT KL_2 ON INSERT INTO KL_2(ID_KL_2, ID_KL_1, KL_2) SELECT * FROM Truck_Expo.dbo.KL_2 SET IDENTITY_INSERT KL_2 OFF SET IDENTITY_INSERT KL_3 ON INSERT INTO KL_3(ID_KL_3, ID_KL_2, ID_KL_1, KL_3) SELECT * FROM Truck_Expo.dbo.KL_3 SET IDENTITY_INSERT KL_3 OFF INSERT INTO Agenci (ID_AGENCJI, Symbol, [Imię], Nazwisko, ulica, kod, miasto, woj, [państwo], tel, fax, opis, [konto-wn], [konto-ma], [konto-pr], podstawa, aktywny, pracownicy, [hasło], admin, F_ROZ, New_ID, Old_ID, show_info, ID_PLANU_PROWIZYJNEGO, FotkaDoMenuStart ) SELECT ID_AGENCJI, Symbol, [Imię], Nazwisko, ulica, kod, miasto, woj, [państwo], tel, fax, opis, [konto-wn], [konto-ma], [konto-pr], podstawa, '0' AS aktywny, pracownicy, [hasło], admin, F_ROZ, New_ID, Old_ID, show_info, ID_PLANU_PROWIZYJNEGO, FotkaDoMenuStart FROM Truck_Expo.dbo.Agenci WHERE Symbol NOT IN (SELECT Symbol FROM Agenci) AND Symbol<>'xxx' SET IDENTITY_INSERT dbo.Konta ON INSERT INTO dbo.Konta(IdKonta, idAgencji, Konto, id, opis, waluta_miano) SELECT IdKonta, idAgencji, Konto, id, opis, waluta_miano FROM Truck_Expo.dbo.Konta WHERE id in ( SELECT DISTINCT id_konta FROM Truck_Expo.dbo.faktury WHERE id_faktury in ( SELECT id_faktury FROM Truck_Expo.dbo.reklama WHERE [id reklamy] like 'X%' and [tytuł]='EXPO' and id_faktury is not null ) ) SET IDENTITY_INSERT dbo.Konta OFF }}}