uygulama hatası django test - bir hata test veritabanı oluşturma: veritabanı oluşturmak için izin reddedildi
Komut (dağıtma bu komut kullandığı kumaş kullanarak, myproject için çalışırken farkettim) ile herhangi bir uygulamayı test etmeye çalıştığımda:
python manage.py test appname
Bu hata alıyorum:
Creating test database for alias 'default'...
Got an error creating the test database: permission denied to create database
Type 'yes' if you would like to try deleting the test database 'test_finance', or 'no' to cancel
syncdb
komut iş gibi görünüyor. Benim veritabanı settings.py ayarları:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'finance', # Or path to database file if using sqlite3.
'USER': 'django', # Not used with sqlite3.
'PASSWORD': 'mydb123', # Not used with sqlite3.
'HOST': '127.0.0.1', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
CEVAP
Django test paketi çalıştığında, yeni bir veritabanı, test_finance oluşturur. Kullanıcı adı django
PostgreSQL veritabanı kullanıcı bir hata iletisi dolayısıyla oluşturmak için izni yok.
Syncdb çalıştırdığınızda, Django herhangi bir hata alamadım bu yüzden finans veritabanı oluşturmak için deneyin değil.
Bir süper kullanıcı (this stack overflow answer şapka ipucu) olarak postgress kabuk içinde aşağıdaki komutu çalıştırarak django kullanıcıya createdb izni ekleyebilirsiniz.
=> ALTER USER django CREATEDB;
Not:Kullanıcı adı ALTER USER <username> CREATEDB;
komutu için kullanılan Django ayarları dosyalarında veritabanı kullanıcı uygun olması gerekir. Bu durumda, Gönderen, django
yukarıdaki cevap olarak kullanıcı vardı.
Nasıl django'bellek sadece test v...
'un hangi birim-test için en iyi ...
Nasıl veritabanı sorguları ile bir nes...
Hata GitHub için bastırıyor - yetersiz...
Git Bas Hata: veritabanı depo için bir...