Инструмент генерации кода для схемы SQL для сущностей Korma
Есть ли инструмент для преобразования схемы SQL в сущности Korma?
2 ответа
Пока нет, но вы можете запросить словарь данных СУБД, чтобы начать работу.
Например, на MySQL вы можете начать с:
select concat('(defentity ', t.table_name ,')') as defentity
from information_schema.tables t
where table_schema = 'mySchema';
Это работает для меня, потребовалось некоторое время для реализации. Меня немного поразило, что у Кормы нет этой функции! (примечание: я запускал это против MSSQL)
(defentity INFORMATION_SCHEMA.tables)
(def tables (map #(get % :TABLE_NAME)
(select 'INFORMATION_SCHEMA.tables (fields :TABLE_NAME)
(where {:TABLE_TYPE "BASE TABLE"})))) ;notice the quote
(prn tables)
;(map #(def %) tables) ;additional concept
(map #(defentity %) tables) ;not sure this is required anymore
(select (first tables))