Zakładając, że mam schemat o nazwie "my_schema", w jaki sposób mogę utworzyć tabele z "django syncdb" dla tego konkretnego schematu? Czy istnieją inne alternatywy dla szybkiego tworzenia tabel z moich modeli django? Myślę, że domyślnie django tworzy tabele dla "publicznego" schematu.Jak określić nazwę schematu podczas działania "syncdb" w django?
7
A
Odpowiedz
5
Najpierw musisz mieć psycopg2> = 2.4.3 [1]. Jeśli masz, to możesz dodać schemat do opcji w konfiguracji bazy danych w oparciu o słowniki, tak:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
# ...
'OPTIONS': {
'options': '-c search_path=my_schema'
}
}
}
Testowane na PostgreSQL 8.4, django 1,3
0
Użyłem następujących informacji i pracy dla mnie
'default': { 'silnik': 'django.db.backends.postgresql_psycopg2', 'name': 'dab_name', 'user': 'username', 'Hasło': 'password', ' HOST ': 'localhost', 'PORT': '5432', 'Opcje': { 'Opcje': '-c search_path = nazwa #schema Tours' } }
Testowane na 9 i PostgreSQL django 1.10.2
Dzięki @romke
Powiązane problemy
- 1. nieświeży typy zawartości podczas syncdb w Django
- 2. Jak określić nazwę w mailu Django?
- 3. Jak zmienić nazwę schematu?
- 4. Django - syncdb nie tworzy tabel
- 5. iReport - sparametryzować nazwę schematu?
- 6. Jak zmienić nazwę schematu MySQL?
- 7. Jak zmienić nazwę aktywnego schematu w XCode?
- 8. Django niestandardowa nazwa syncdb dla tabeli
- 9. W django, jak wywołać podkomendę "syncdb" ze skryptu inicjującego?
- 10. PyCharm: Jak uruchamiać polecenia syncdb i sql?
- 11. Jak określić nazwę obszaru w łączu akcji?
- 12. Zmień nazwę schematu tabeli w SQL
- 13. Skrypt przedwczesnego działania schematu XCode nie działa
- 14. stanie stworzyć superużytkownika po syncdb
- 15. Modele Django nie są wyświetlane w DB po Syncdb
- 16. uzyskać nazwę URL routera podczas testowania w Django Rest Framework
- 17. Biorąc pod uwagę nazwę akcji htmlHelper +, jak określić nazwę kontrolera?
- 18. Jak programowo określić nazwę CKEditor przykład
- 19. (Django) jak zdobyć nazwę miesiąca?
- 20. Administrator Django: Jak wyczyścić panel Ostatnie działania
- 21. Jak zmienić nazwę projektu Django w PyCharm?
- 22. Django pobierz instrukcję syncdb sqlall, aby zaktualizować po zmianach kodu.
- 23. Uzyskaj nazwę schematu aktualnie wykonywanej procedury składowanej
- 24. Jak przekazać nazwę kolumny jako parametr do działania w dplyr?
- 25. Jak uzyskać nazwę działania w filtrze after_action dla ActionMailer
- 26. Jak ustawić settings.LOGIN_URL na nazwę funkcji widoku w Django 1.5+
- 27. syncdb Django nie działa z MySQL errno: 150
- 28. Wyjątek podczas działania System.Threading.Tasks.Task
- 29. auto Populate gdy syncdb z uchwytem dla Django miejscu
- 30. Znajdź nazwę schematu kompilacji Xcode w czasie wykonywania.
Czy mówisz o opcji ** - database = DATABASE **: * Nominuje bazę danych do synchronizacji. Domyślnie jest to "domyślna" baza danych. * – jpic
Nie. Odnoszę się do schematu. http://www.postgresql.org/docs/9.0/static/ddl-schemas.html. Domyślnie django używa schematu o nazwie "public" –
Django domyślnie nie używa schematu "publicznego". Psycopg2 domyślnie używa "publicznego" schematu (tak, przeczytałem kod z grep). Możesz spróbować ustawić "OPCJE": {"schemat": "twój szyfr"} w definicji DATABASE (na tym samym poziomie, co "UŻYTKOWNIK", "HOST", itp.). – jpic