2013-03-16 9 views
8

Jestem nowym użytkownikiem Flyway i używam bazy kodu Flyway 2.1 do migracji i wykonywania instrukcji SQL w poprzedniej wersji schematu z wykorzystaniem Flywaya. Po wykonaniu moich nowszych instrukcji SQL pozycja w tabeli metadanych jest zwiększana.Podgląd instrukcji SQL przed migracją za pomocą Flywaya

Ale zanim przeprowadzę migrację mojej nowej wersji schematu (tj. Przed migracją/uruchomieniem nowszych instrukcji SQL na schemacie bazy danych), chciałbym przechwycić wszystkie nowe SQL w innym pliku preview.sql, aby Administratorzy baz danych widzą kody SQL przed kontynuowaniem migracji.

Planuję to zrobić, dodając metodę flyway.preview() do pliku Flyway.java. Czy możesz mi powiedzieć, jakie inne pliki wymagałyby zmiany, aby to osiągnąć?

Co więcej, chcę to zrobić tylko wtedy, gdy nowa wersja jest> aktualną wersją schematu aktualnie znajdującą się w bazie danych. Sprawdziłem kod 2.1, ale klasa SchemaVersion została wycofana w wersji 2.1 i nie jestem pewna, jak uzyskać aktualną wersję z bazy danych.

Byłbym wdzięczny za pomoc lub sugestie, które poprawią moje podejście.

Dziękuję

+0

Możliwe jest nakładanie się na to, co robisz: https://github.com/flyway/flyway/issues/87 - Może po utworzeniu rozwiązania możesz przesłać je za pomocą żądania pobrania? –

Odpowiedz

1

Niezbędne abstrakcje nie są na swoim miejscu jeszcze do wspierania tego, ale mam zamiar dodając je w ciągu najbliższych kilku tygodni, aby wspierać aktualizacji wsadowych w 2.2. Gdy to się stanie, powinno to być znacznie łatwiejsze do wdrożenia.

Jeśli chodzi o sprawdzanie stanu DB, masz Flyway.info(), aby ci pomóc.

+0

Witam Axel, dziękuję za odpowiedź. W odpowiedzi na mój post, czy istnieje polecenie podglądu wzdłuż linii informacji? Co oznacza, jeśli zrobię podgląd flyway.cmd, czy to wyświetli listę SQL, które będą zastosowane? Ponieważ obecnie próbuję wdrożyć tę funkcję, jestem ciekawy. Dziękuję – user2176326

+0

Nie, zaimplementowałem to w taki sposób, aby można było przełączać executory. Albo wykonaj komendę jdbc lub stdout lub coś w tym stylu. –

+0

Witaj Alex, chciałbym wydrukować ten sam drukowany na konsoli plik tego samego ascii do pliku tekstowego w tym samym formacie. Czy mimo to można wyeksportować tabelę? Dzięki – user2176326

Powiązane problemy