Plik 12k linii SQLa sformatowanego w losowy sposób - co z tym robić

0

Co ten plik robi? Wrzuca konfugurację do bazy.
Najpierw chciałem pisać o tym w WTF programowania, ale może ktoś ma jakąś radę jak to naprawić

Jak na razie:

  1. Za pierwszym razem jak to zobaczyłem to chciałem uciekać
  2. Po roku przywykłem (bo nie musiałem nic w tym robić za bardzo)
  3. Po dwóch latach stwierdzam że trzeba coś z tym zrobić. Ale w zasadzie co?
    1. Można sformatować, to na pewno. PM na pewno się ucieszy że przez cały sprint formatuję SQLe
    2. Można podzielić na mniejsze pliki. NP dla każdego "klienta" osobny plik
    3. Można nie używać SQLi tylko jakąś ładną konfigurację może w YAMLu. Nawet już mamy taką konfigurację, ale nie ma tam wszystkich rzeczy
    4. Jakieś inne pomysły?

I najważniejsze. Jak to uzasadnić biznesowo? Bo to że dostaje pi'rdolca jak to widzę raczej nie pomoże w uzasadnieniu

4

Co do formatowania - nie ma jakichś formaterów, które mogą to automatycznie poukładać zgodnie z jakimiś zasadami? Bo przy wielu językach/w wielu IDE masz opcje formatowania - albo wywoływane ręcznie, albo np. podczas zapisu. Możę dałoby się to ogarnąć w podobny sposób.

Nie podałeś w jaki sposób z tego korzystacie - jak często odpalany, na ile jest to zautomatyzowane itp.

Co do rozbicia na mniejsze pliki per klient - takie przemyślenia:

  • na ile są tam części wspólne dla każdego z nich (jakieś tworzenie struktury bazy, zapełnianie szablonów itp)?
  • w jaki sposób to byś potem ogarniał - ręcznie dodawanie/kasowanie każdego pliku i jego edycja, czy jakiś mechanizm automatyzujący?
  • jak się zabezpieczysz przed sytuacją, w której z 350 skryptów klientów jakiś się nie wykona - bo baza będzie miała zwiechę, bo gdzieś coś się odhaczy, bo jakiś lock się zrobi i baza odrzuci to, co jej nakażesz.
2

@KamilAdam: Aż tak dużego pliku nie miałem, ale dbeaver potrafi formatować ładnie, wersja community za free jest, warto spróbować.

1
KamilAdam napisał(a):
1. Można sformatować, to na pewno. PM na pewno się ucieszy że przez cały sprint formatuję SQLe

No chyba nie cały sprint, kwestia znalezienia narzędzia. Kiedyś duże pliki otwierałem w HeidiSQL, miał formatowanie. Ale jak mniemam to i tak jakoś otwierasz ten plik i go edytujesz więc może najłatwiej to zrobić w tym narzędziu.
A tu masz jakieś formatery wykorzystujące CMD ale nie korzystałem https://stackoverflow.com/questions/392001/sql-string-formatter.
A ile zajmuje ten plik? Bo ilość linii może średnio odzwierciedlać jego wielkość. I jak przewidujesz urośnie on jeśli dodasz jakieś formatowanie?

2. Można podzielić na mniejsze pliki. NP dla każdego "klienta" osobny plik

No ja bym podzielił to na pewno.

I najważniejsze. Jak to uzasadnić biznesowo? Bo to że dostaje pi'rdolca jak to widzę raczej nie pomoże w uzasadnieniu

Jeśli te konfigurację są globalne dal wielu klientów to przede wszystkim bezpieczeństwo. Nie wiem co tam masz ale powiedzmy skrypt tworzy konta admina z tym samym hashem i znanym hasłem, no to jedna firma może logować się do drugiej itd. Takie dane IMHO powinny być per firma.

3
KamilAdam napisał(a):

Co ten plik robi? Wrzuca konfugurację do bazy.
Najpierw chciałem pisać o tym w WTF programowania, ale może ktoś ma jakąś radę jak to naprawić

Jak na razie:

  1. Za pierwszym razem jak to zobaczyłem to chciałem uciekać
  2. Po roku przywykłem (bo nie musiałem nic w tym robić za bardzo)
  3. Po dwóch latach stwierdzam że trzeba coś z tym zrobić. Ale w zasadzie co?
    1. Można sformatować, to na pewno. PM na pewno się ucieszy że przez cały sprint formatuję SQLe
    2. Można podzielić na mniejsze pliki. NP dla każdego "klienta" osobny plik
    3. Można nie używać SQLi tylko jakąś ładną konfigurację może w YAMLu. Nawet już mamy taką konfigurację, ale nie ma tam wszystkich rzeczy
    4. Jakieś inne pomysły?

Ja stworzyłbym nową tymczasową, pustą bazę, wczytałbym tego SQL'a do niej, i potem zrobił export. I ten export pewnie będzie czytelniejszy niż to co importujesz.

KamilAdam napisał(a):

I najważniejsze. Jak to uzasadnić biznesowo? Bo to że dostaje pi'rdolca jak to widzę raczej nie pomoże w uzasadnieniu

A czemu miałbyś to uzasadniać jakkolwiek? To jest coś co musisz zrobić żeby pracować, tak samo jak testy i refaktor

1
KamilAdam napisał(a):

Co ten plik robi? Wrzuca konfugurację do bazy.

To po co na niego w ogóle patrzeć, jeśli robi to dobrze?

Najpierw chciałem pisać o tym w WTF programowania, ale może ktoś ma jakąś radę jak to naprawić

Jak na razie:

  1. Za pierwszym razem jak to zobaczyłem to chciałem uciekać

Ale w sumie nie rozumiem problemu...

  1. Po roku przywykłem (bo nie musiałem nic w tym robić za bardzo)

A po co w ogóle tam cokolwiek robić?

  1. Po dwóch latach stwierdzam że trzeba coś z tym zrobić. Ale w zasadzie co?
    1. Można sformatować, to na pewno. PM na pewno się ucieszy że przez cały sprint formatuję SQLe

Można, tylko po co?

2. Można podzielić na mniejsze pliki. NP dla każdego "klienta" osobny plik

W ogóle nie rozumiem o czym mowa, posługujesz się domniemaną wiedza plemienną.
Jeśli to jest WTF, to póki co dotyczy twojego opisu problemu ;-)

3. Można nie używać SQLi tylko jakąś ładną konfigurację może w YAMLu. Nawet już mamy taką konfigurację, ale nie ma tam wszystkich rzeczy
4. Jakieś inne pomysły?

Zawsze, tylko proszę zdefiniuj na czym polega problem.
Na formatowaniu SQLa? 😜

Jeśli mam konfigurację DB (a jakąś tam mam), to eksportuje to do XMLa a potem importuje w systemie docelowym.
Nigdy tam nie zaglądam, bo zarówno eksport jak i import wykonuje dedykowane narzędzie (które sobie napisałem) i w ogóle nikt w taki plik nie zagląa.
Ale wersjonuje sobie go na repo, a tak w razie jakichkolwiek problemów.

0

Ja mam taki formater. Podeślij plik spróbuję ci go przygotować w bardziej ludzki sposób.

1 użytkowników online, w tym zalogowanych: 0, gości: 1