172 похожих чатов

Всем привет. Сори если вопрос покажется тупым ) С помощью liquibase

накатываю миграции. Вот так выглядт чистые sql'ные миграции (изначально они в ямле). PostgreSQL автоматически создает внешние ключи и связывает между собой таблицы. Это конечно прикольно, но мне бы хотелось это контролировать самому. В доках не нашел описание этого поведения.

Внешний ключ создается: company.environment_id -> environment.id

--liquibase formatted sql

--changeset user:1
CREATE TABLE environment (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, name VARCHAR(48), production BOOLEAN DEFAULT FALSE NOT NULL, url_api VARCHAR(128), web_url VARCHAR(128), admin_url VARCHAR(128), created_at TIMESTAMP WITHOUT TIME ZONE, updated_at TIMESTAMP WITHOUT TIME ZONE, CONSTRAINT ENVIRONMENT_PKEY PRIMARY KEY (id));

--changeset user:2
CREATE TABLE company (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, environment_id INTEGER NOT NULL, admin_company_id INTEGER NOT NULL, production BOOLEAN DEFAULT TRUE NOT NULL, company_name VARCHAR(128), test_login VARCHAR(128), test_password VARCHAR(128), logo_url TEXT, created_at TIMESTAMP WITHOUT TIME ZONE, updated_at TIMESTAMP WITHOUT TIME ZONE, CONSTRAINT COMPANY_PKEY PRIMARY KEY (id));

Вопрос собственно, куда копать или тут надо руки менять ?

1 ответов

14 просмотров

> PostgreSQL автоматически создает внешние ключи и связывает между собой таблицы. Это не он, а что-то другое — ищите. Просто выполнение этих changeset же никаких FK не создаёт, верно? > В доках не нашел описание этого поведения. Потому что его там нет (как и поведения). :) > Вопрос собственно, куда копать или тут надо руки менять ? Можно в логи, например (чтобы узнать, что это Вам "помогает", создавая FK). Кстати, по поводу типов в этих таблицах — почитали бы Вы https://wiki.postgresql.org/wiki/Don%27t_Do_This , что ли.

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта