Marcin Sobieszczyk

Marcin Sobieszczyk Właściciel,
SigmaSystem -
Systemy
Informatyczno-Elektr
oni...

Temat: Nazwa kolumny z polskimi krzakami w tabelce mysql

Mam gotową bazę(jakiś idiota ją projektował) w której nazwy niektórych kolumn są z polskimi krzakami, kodowane w cepie.
Tak więc python manage.py inspectdb odpada. Wiem, że można ustawić zmienna names w mysql-u tak aby rzutowała na ascii. Niestety polskie znaki zamienia na '?'. Gdzieś google też mi podpowiedziało, że w sqlobject lub sqlalchemy można podmienić nazwy kolumn. Niestety baza danych jest dość duża i analizować ręcznie jej struktury mi się nie chcę, poza tym projektanci tę bazę mogą przebudować w następstwie czego będę zmuszony na nowo analizować strukturę.

Wpadłem jednak na pomysł[być może ktoś już go zrealizował], aby w miejscu gdzie są rzutowane nazwy kolumn na zmienne w pythonie podmieniać polskie znaki, na inne zdefiniowane ciągi ascii. Mogłoby się to odbywać np. po wciśnięciu tablicy w której kliczami byłyby polskie znaki, zaś wartościami zamienniki.

W ten sposób po wykonaniu inspectdb miałbym rozwiązanie.

Jeśli ktoś coś takiego zna, lub może podsunąć jakiś inny pomysł proszę o odpowiedz.

PozdrawiamMarcin Sobieszczyk edytował(a) ten post dnia 26.04.09 o godzinie 00:06

konto usunięte

Temat: Nazwa kolumny z polskimi krzakami w tabelce mysql

AFAIK w nazwach kolumn mogą być dowolne znaki, Django i tak tworząc zapytania odpowiednio „opakowuje” wszelkie nazwy (http://code.djangoproject.com/browser/django/tags/rele....

Poza tym nazwy pól modelu nie muszą być zgodne z nazwami odpowiadających im kolumn:
http://docs.djangoproject.com/en/dev/ref/models/fields...
If your database column name is an SQL reserved word, or contains characters that aren't allowed in Python variable names -- notably, the hyphen -- that's OK. Django quotes column and table names behind the scenes.Tomasz Elendt edytował(a) ten post dnia 26.04.09 o godzinie 11:54

Następna dyskusja:

[MySQL] Kolumny na rzędy




Wyślij zaproszenie do