Михаиллл
21 грудня 2018 р. 22:03

Как создать таблицу по скрипту старой в PostgreSQL

Здравствуйте.
Создал в БД таблицу.
Её код:

CREATE TABLE public."Test2"
(
  id INTEGER NOT NULL DEFAULT NEXTVAL('"Test2_id_seq"'::regclass),
  int1 INTEGER,
  "Text1" text,
  CONSTRAINT "Test2_pkey" PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public."Test2"
  OWNER TO postgres;

Если в другой базе нажимаю на паблик-> выполнить скрипт и ввожу код таблицы, то выдает ошибку:
ОШИБКА: отношение "Test2_id_seq" не существует
* Error *

ОШИБКА: отношение "Test2_id_seq" не существует
SQL state: 42P01
Скажите пожалуйста, как исправить?

2

Вам це подобається? Поділіться в соціальних мережах!

2
Evgenii Legotckoi
  • 22 грудня 2018 р. 03:29

Добрый день,

Не совсем уверен, но вроде бы там нужно сначала SEQUENCE создать.

Что-то типо такого

CREATE SEQUENCE your_seq;
CREATE TABLE IF NOT EXISTS "category" (
  "id" integer PRIMARY KEY default nextval('your_seq'),
  "name" varchar(30) DEFAULT NULL
);

Могу и сильно ошибаться, поскольку в сыром виде практически не работаю с базами данных, в основном через ORM

    Михаиллл
    • 22 грудня 2018 р. 13:56

    Там оказалось нужно сериал прописать:

    -- Table: public."Test2"
    
    -- DROP TABLE public."Test2";
    
    CREATE TABLE public."Test2"
    (
      id SERIAL NOT NULL ,
      int1 integer,
      "Text1" text,
      CONSTRAINT "Test2_pkey" PRIMARY KEY (id)
    )
    WITH (
      OIDS=FALSE
    );
    ALTER TABLE public."Test2"
      OWNER TO postgres;
    

      Коментарі

      Only authorized users can post comments.
      Please, Log in or Sign up