Open emkael opened 7 years ago
Jawna konwersja, tj. z pytaniem użytkownika, to pozostałość historyczna. Gdy wchodziły BM2, to obawialiśmy się, że jak zwykle wszystko się będzie pierniczyło, więc użytkownik miał dostać na twarz pytanie, czy na pewno mamy mu popsuć BWS-a tak, że pewnie BM1 już go nie przetrawi.
Myślę, że dzisiaj zupelnie można od tego odejść i dodawać po cichu te tabele/kolumny, które są potrzebne.
Cząstkowa konwersja sprawia, że otwarcie pliku BWS, który jest aktualnie używany, trwa długo. Obecnie konwersja wygląda mniej więcej tak:
try {
'CREATE TABLE blah'
} catch {}
a CREATE TABLE
musi czekać na zwolnienie blokady pliku używanego przez BCS.
Do przemyślenia, jak lepiej wykrywać i aktualizować strukturę BWS.
O, a to trzeba dla odmiany otworzyć ponownie, bo pojawiły się Inne Koncepcje™.
Wraz z przyrostem funkcjonalności i rozwojem samego formatu BWSów, proste rozróżnienie między plikiem BM2 a plikiem, który trzeba skonwertować do BM2, nie zawsze wystarcza.
Czasem mamy do czynienia z BWSem, który już jest formatu BM2 (w tym: jest wykrywany przez Aktywator jako BM2, więc nie jest proponowana jego konwersja), a nie zawiera całej struktury, która jest niezbędna do działania programu. Na przykład, tabela
Settings
może nie zawierać wszystkich pól, zwłaszcza tych wprowadzanych niedawno (bo na przykład sędzia zdążył już skonwertować BWS starą wersją Aktywatora).Może powinniśmy rozważyć stopniowy, w dużej mierze "cichy" (przezroczysty dla użytkownika) upgrade struktury BWS? Może w związku z tym również początkowa konwersja ("do BM2") może odbywać się bez wyrażenia przez użytkownika wprost zgody?
Jak często zdarzają się jeszcze użytkownicy, którzy potrzebują użyć Aktywatora, ale jednocześnie trzymać strukturę BWS w starym formacie? (I jak bardzo możliwe, że ci użytkownicy będą korzystać z jakichkolwiek aktualizacji Aktywatora, gdy funkcje, które wprowadzamy, dotyczą BM2?)