С игнорированием кормы (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),
)
Другие вопросы по тегам