-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
scenerio feature #40
base: master
Are you sure you want to change the base?
scenerio feature #40
Conversation
Dodałam jeszcze możliwość tworzenia parametrów parametrów dla scenariuszy dumpu. Zmienił się przez to sposób uruchomienia zadania:
Jeżeli istnieje potrzeba przekazania kilku parametrów, przekazuje się je po średniku ";" np:
Parametry również dostępne będą w części anonimizera w tworzonych zapytaniach do bazy |
Dodałam opcję multiparametrów i domyślny template magento 1.9 aby wysłać kilka ID klienta np trzeba to rozdzielić "|" np różnica pomiędzy poprzednim zapisem tj. jest taka, że | stworzy wartość po przecinku dla zapytania sql z wykorzystaniem IN bądź NOT IN, a ten zapis niżej przekazuje dwa różne parametry tj id i id2 z wartościami kolejno 1 i 2 (id=1 i id2=2) |
dodałam testy + rozdzieliłam zadania na anonimizację i dump osobno teraz wykonuje się tak: Ponad to teraz nazwa węzła "dump_action" zmieniła się na "dump_actions". Dodatkowa zmiana to możliwość dumpu wszystkich tabel a nie wybranych za pomocą |
zmiana zapisu projektu z:
"tables": { "test": { "testcol": { "action": "empty" } } },
na
"tables": { "test": { "testcol": { "default": { "action": "empty" }, "scenerio": { "action": "delete", "attributes": { "where": "id>0" } } } } },
Daje to możliwość tworzenia scenariuszy dzięki którym można czyścić bazę przed wykonaniem anonimizacji w zakresie jaki potrzebujemy (np. zostawiamy jednego bądź kilku klientów)
Dodanie konfiguracji dumpu dla scenariusza:
"dump_action": { "path": "path to dump dir", "scenerio": { "file": "file.sql", "tables": { "test": { "where": "id in (1,2)" }, "test2": { } } } }
Z pierwszej tabeli zostaną zrzucone dwa rekordy, druga tabela zostanie zrzucona w całości.
Zadanie, które wykonuje scenariusz wraz ze zrzutem to:
Rake.application.invoke_task("project:anonymize_database_with_scenerio[#{project_name}, default]")
Domyślnie każda tabela powinna mieć scenariusz default