С игнорированием кормы (clojure)
У меня есть следующий код:
(defentity users
(database korma-db)
(has-many tags))
(defentity tags
(database korma-db)
(belongs-to users))
(-> (select* users)
(with tags)
(fields :address)
(where {:id 1})
(as-sql))
и он генерирует следующий sql:
SELECT "users"."address" FROM "users" WHERE ("users"."id" = ?)
Хотя я ожидаю, что он будет включать соединение с таблицей тегов, в силу наличия with
макрос применяется. Ясно, что это не так, но при его выполнении будет выдан пустой ключ: tags в единственной возвращаемой записи.
Я что-то здесь упускаю?
1 ответ
Вы создали реальное ссылочное ограничение для базы данных? Я думаю, что однажды у меня была та же проблема, и я исправил ее, создав внешний ключ при определении поля. т.е. в PostgreSQL
CREATE TABLE tags (
...
users_id INTEGER REFERENCES users(id),
)