Как указать имя схемы при запуске "syncdb" в Django? - PullRequest
7 голосов
/ 30 декабря 2011

Если у меня есть схема с именем "my_schema", как я могу создать таблицы с "django syncdb" для этой конкретной схемы?Или есть другие альтернативы для быстрого создания таблиц из моих моделей Django?Я думаю, по умолчанию django создает таблицы для «публичной» схемы.

Ответы [ 2 ]

6 голосов
/ 06 января 2012

Во-первых, у вас должен быть psycopg2> = 2.4.3 [1]. Если у вас есть, вы можете добавить схему в OPTIONS в конфигурации базы данных на основе словаря, например:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    # ...
    'OPTIONS': {
      'options': '-c search_path=my_schema'
    }
  }
}

Проверено на postgresql 8.4 и django 1.3

  1. http://initd.org/psycopg/docs/module.html?highlight=connect#psycopg2.connect
  2. http://www.postgresql.org/docs/8.4/static/libpq-connect.html#LIBPQ-CONNECT-OPTIONS
0 голосов
/ 03 марта 2017

Я использовал следующую информацию и работал для меня

'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'dab_name', 'USER': 'username ',' PASSWORD ':' password ',' HOST ':' localhost ',' PORT ':' 5432 ',' OPTIONS ': {' options ':' -c search_path = tours '# имя схемы}}

Проверено на postgresql 9 и django 1.10.2

Спасибо @ romke

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...