간단한 장고 프로젝트에서 몇 가지 모델을 설정했습니다. 내가 실행할 때포스트 그레스에서 장고 쿼리 사라짐
나는 syncdb를 실행하거나 0 오류를 확인하면 좋은 찾고 SQL로드를 얻을.
BEGIN;
CREATE TABLE "fivefives_player" (
"id" serial NOT NULL PRIMARY KEY,
"username" varchar(200) NOT NULL,
"colour" varchar(7) NOT NULL,
"remaining_dice" integer NOT NULL
)
;
CREATE TABLE "fivefives_game_player_list" (
"id" serial NOT NULL PRIMARY KEY,
"game_id" integer NOT NULL,
"player_id" integer NOT NULL REFERENCES "fivefives_player" ("id") DEFERRABLE INITIALLY DEFERRED,
UNIQUE ("game_id", "player_id")
)
;
CREATE TABLE "fivefives_game" (
"id" serial NOT NULL PRIMARY KEY,
"time" timestamp with time zone NOT NULL
)
;
ALTER TABLE "fivefives_game_player_list" ADD CONSTRAINT "game_id_refs_id_c39af54" FOREIGN KEY ("game_id") REFERENCES "fivefives_game" ("id") DEFERRABLE INITIALLY DEFERRED;
CREATE TABLE "fivefives_round_player_list" (
"id" serial NOT NULL PRIMARY KEY,
"round_id" integer NOT NULL,
"player_id" integer NOT NULL REFERENCES "fivefives_player" ("id") DEFERRABLE INITIALLY DEFERRED,
UNIQUE ("round_id", "player_id")
)
; ... it continues like this...
하지만 관리자가되면 테이블이 없습니다. postgres에 로그인하면 테이블이 생성되지 않은 것을 볼 수 있습니다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'perudodb', # Or path to database file if using sqlite3.
'USER': 'postgres', # Not used with sqlite3.
'PASSWORD': 'postgres', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
누구나 전에 이와 같은 것을 생각해 냈습니다. 그냥 내 친구 컴퓨터에 syncdb'd 모든 파일을 복사하고 모두 잘 작동합니다.
어리석은 순간. 내가 사용하고 있던 'postgres'기본 사용자에게는 뭔가 부족한 것이있었습니다. 나는 dave로 변했고, 나의 Mac의 슈퍼 유저는 syncdb를 돌렸다. 그리고 그것은 모두 일어 났고, 지금 일하고있다. – Djave
답변은 이미 게시되었습니다. 그러나 한 가지 힌트 : 남쪽을 사용하십시오. 스키마 마이그레이션을 처리하며 사실상의 표준입니다. – guettli
확실히 확인해 보겠습니다. 이미 필드를 만들었 으면 정확히 null = True로 설정해야합니다. 감사 – Djave