2016-05-17 9 views
1

Я удалил свою базу данных postgresql из pgAdmin III (щелкните правой кнопкой мыши по базам данных/mydatabase => delete/drop).Operationalerror: базы данных не существует

Теперь я хочу начать заново и сделать первую миграцию, которая должна создать базу данных, но вместо этого она даст ошибку: базы данных не существует.

До сих пор я использовал sqlite3, и эта процедура работала. Что я должен делать?

Полный traceback:

(myvenv) c:\Python34\Scripts\possedimenti\sitopossedimenti>manage.py migrate 
Traceback (most recent call last): 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\base\base.py", line 199, in ensure_connection 
    self.connect() 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\base\base.py", line 171, in connect 
    self.connection = self.get_new_connection(conn_params) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\postgresql\base.py", line 175, in get_new_connection 
    connection = Database.connect(**conn_params) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\psycopg2\__ini 
t__.py", line 164, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, async=async) 
psycopg2.OperationalError: FATALE: il database "possedimenti_database" non esis 
te 


The above exception was the direct cause of the following exception: 

Traceback (most recent call last): 
    File "C:\Python34\Scripts\possedimenti\sitopossedimenti\manage.py", line 10, i 
n <module> 
    execute_from_command_line(sys.argv) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\core\ma 
nagement\__init__.py", line 353, in execute_from_command_line 
    utility.execute() 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\core\ma 
nagement\__init__.py", line 345, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\core\ma 
nagement\base.py", line 348, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\core\ma 
nagement\base.py", line 399, in execute 
    output = self.handle(*args, **options) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\core\ma 
nagement\commands\migrate.py", line 89, in handle 
    executor = MigrationExecutor(connection, self.migration_progress_callback) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\migr 
ations\executor.py", line 20, in __init__ 
    self.loader = MigrationLoader(self.connection) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\migr 
ations\loader.py", line 49, in __init__ 
    self.build_graph() 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\migr 
ations\loader.py", line 176, in build_graph 
    self.applied_migrations = recorder.applied_migrations() 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\migr 
ations\recorder.py", line 65, in applied_migrations 
    self.ensure_schema() 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\migr 
ations\recorder.py", line 52, in ensure_schema 
    if self.Migration._meta.db_table in self.connection.introspection.table_name 
s(self.connection.cursor()): 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\base\base.py", line 231, in cursor 
    cursor = self.make_debug_cursor(self._cursor()) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\base\base.py", line 204, in _cursor 
    self.ensure_connection() 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\base\base.py", line 199, in ensure_connection 
    self.connect() 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\util 
s.py", line 95, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\utils\s 
ix.py", line 685, in reraise 
    raise value.with_traceback(tb) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\base\base.py", line 199, in ensure_connection 
    self.connect() 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\base\base.py", line 171, in connect 
    self.connection = self.get_new_connection(conn_params) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\django\db\back 
ends\postgresql\base.py", line 175, in get_new_connection 
    connection = Database.connect(**conn_params) 
    File "c:\Python34\Scripts\possedimenti\myvenv\lib\site-packages\psycopg2\__ini 
t__.py", line 164, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, async=async) 
django.db.utils.OperationalError: FATALE: il database "possedimenti_database" n 
on esiste 
+1

гм, попытайтесь создать базу данных 'possedimenti_database' вручную. Затем просто вызовите 'manage.py migrate'. Надеюсь, что это так. – Lucas03

ответ

1

Первая миграция не создает базу данных, она нуждается в существующую базу данных для создания таблиц в ней.

Для создания базы данных Postgres запустить из вашего терминала:

createdb -U postgres possedimenti_database 

Вы, возможно, придется заменить Postgres в команде выше с пользователем базы данных.

+1

Я использую postgresql not sqlite3 – fabio

+1

Я обновил свой ответ командой для создания db с терминала. – ozren1983

1

проверьте данные в своих settings.py для своей БД. Восстановите базу данных PostgreSQL, используя те же самые сведения (номер порта, пользователь, хост, пароль и т. Д.). Попробуйте существующее решение здесь ссылка здесь:

PostgreSQL - create a new DB through pgAdmin UI для создания БД с помощью pgAdmin