Я сейчас застрял в уловке 22 с помощью приложения Django. Мне нужно изменить тип столбца с переменной Varying на Integer, поскольку я перехожу от UUID к обычным старым идентификаторам (данные не меняются, как только это физические константы). Теперь Джанго бросил Fit первоначально о не будучи в состоянии отлиты из VARCHAR в Int, так я «помог» его с помощью:Как изменить тип столбца и все внешние ключи в PostgreSQL?
ALTER TABLE glass_fill ALTER COLUMN id TYPE INTEGER USING CAST(id AS INT);
Теперь, он говорит:
django.db.utils.DatabaseError: foreign key constraint "glass_fill_manufacturer_glass_fill_id_fkey" cannot be implemented
DETAIL: Key columns "glass_fill_id" and "id" are of incompatible types: integer and character varying.
Любые идеи?
Примечание: Таблица glass_fill_manufacturer еще не создана, но django пытается синхронизироваться, но не работает. также,
ALTER TABLE glass_fill ALTER COLUMN id TYPE INTEGER USING CAST(id AS INT);
линия не изменила колонку, как я думал.
glass_fill схема таблицы:
-- Table: glass_fill
-- DROP TABLE glass_fill;
CREATE TABLE glass_fill
(
id character varying(36) NOT NULL,
name character varying(255),
temperature real,
density real,
viscosity real,
conductivity real,
heat_capacity real,
colour text,
CONSTRAINT glass_fill_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
Пожалуйста, разместите сценарий для 'glass_fill_manufacturer'. – Quassnoi
Нет сценария, он генерируется Django на лету, когда я запускаю syncdb. – Jharwood