IsambardKingdomBrunel
#python
#naukaprogramowania
#django

Mam ustawioną bazę danych postgres na zewnętrznym serwerze. W momencie uruchomienia testów wywala mi:

Got an error creating the test database: permission denied to create database

Trochę poszukałem i znalazłem kilka rozwiązań, ale nie wiem jakie jest dobre. Mógłby ktoś podać najlepszy sposób?
  • Najlepsze
  • Wszystkie komentarze
L.....G
L.....G
Ten trzeci sposób
IsambardKingdomBrunel
@LowcaG: Odpada. Nie stać mnie na nowy komputer ( ͡° ͜ʖ ͡°)
L.....G
L.....G
Odpada. Nie stać mnie na nowy komputer ( ͡° ͜ʖ ͡°)


@IsambardKingdomBrunel: a widzisz, widać podałeś za mało szczegółów, skąd mogłem wiedzieć, że komputer nie wchodzi w grę ;)
IsambardKingdomBrunel
IsambardKingdomBrunel Autor
  • adult
0
Treść przeznaczona dla osób powyżej 18 roku życia...
benedek
odpowiedź jest jak byk:
"permission denied to create database"

to błąd zwrócony przez Postgres. Możesz mieć dostęp do istniejącej bazy ze wszystkimi prawami ale dany użytkownik nie ma praw w tworzeniu baz.
filozof900
@IsambardKingdomBrunel: testy powinno sie raczej uruchamiac na takiej samej bazie danych jaka bedzie w przyszlosci obslugiwala program, wiec lepiej nie uzywac sqlite. rozwiazanie jest takie, zeby dac uzytkownikowi zdefiniowanemu w sekcji DATABASES uprawnienia do tworzenia baz danych
maciejg
@IsambardKingdomBrunel nadal trzecie.

A tak serio: sprawdź usera na bazie i zweryfikuj jego uprawnienia.
krzysiek_pl
@IsambardKingdomBrunel: skoro testujesz to uruchamiaj lokanie ale jeżeli nie chcesz to utwórz konkretną bazę danych na serwerze dla konkretnego usera i wsio.
IsambardKingdomBrunel
@benedek: Wiem, ale właśnie pytam się czy dać uprawnienia czy tworzyć nową bazę sqlite pod testy.

@filozof900: W sumie masz rację.

No to teraz pobawię się uprawnieniami.
benedek
@IsambardKingdomBrunel:
Nie przechodź na sqlite i walcz z postgresem, choćby dlatego, że postgresa warto znać.
link
nesti32
@IsambardKingdomBrunel: Zawsze tez zostaje ci opcja mockowania bazy do testow
IsambardKingdomBrunel
@benedek: Już znalazłem opis krok po kroku jak to zrobić, ale dla lokalnej bazy. Mam sobie postawioną bazę w elephantSQL i używam zewnętrznej bazy i nigdzie nie widzę jak to ogarnąć. Nie chcę stawiać sobie bazy lokalnej (co pewnie rozwiązałoby szybko problem) tylko chciałem to zrobić prawilnie na bazie jaką już mam.
benedek
@IsambardKingdomBrunel:
Jakie masz prawa na zdalnym serwerze? możesz się podpiąć przez psql jako administrator? (zazwyczaj użytkownik "postgres") lub ktoś z uprawnieniami do tworzenia, modyfikowania praw użytkowników? Zdalny serwer to Twój serwer, czy zewnętrzny, jeśli Twój to nie ma najmniejszego problemu.
IsambardKingdomBrunel
@benedek: Już ogarnąłem logowanie się do bazy na serwerze. Teraz bawię się uprawnieniami. Grant All Priviliges nie rozwiązał mojego problemu.

edit. serwer jest zewnętrzny
benedek
@IsambardKingdomBrunel:
ALTER USER user CREATEDB;
IsambardKingdomBrunel
@benedek: parmission denied nawet jak zrobię grant all privilages