2015-07-29 8 views
1

я работаю над Граалей 2.4.5 На классе домена, я определяю:Grails домена ограничения отображения

String CARD_NO 
String USER_ID 
String PASSWORD 

и ограничения:

CARD_NO(nullable: false, blank: false, maxSize: 24, unique: 'USER_ID') 
USER_ID(nullable: false, blank: false, maxSize: 32) 
PASSWORD(nullable: false, blank: false, maxSize: 64) 

Однако если я получил сценарий, как:

"CARD_NO"     VARCHAR2(24 BYTE) NOT NULL ENABLE, 
"USER_ID"     VARCHAR2(32 BYTE), 
"PASSWORD"     VARCHAR2(64 BYTE), 
CONSTRAINT "CARD_USER_PK" PRIMARY KEY ("ISSUER_ID", "CARD_NO") , 
CONSTRAINT "USER_ID_UNIQUE" UNIQUE ("USER_ID") , 

Это возможный способ сопоставления ограничений с заданным сценарием? Любое решение будет оценено по достоинству. Благодарю.

+0

Что вы подразумеваете под ** mapping ** ограничений домена с помощью sql-скрипта? вы имели в виду, что хотите создать sql-скрипт, который может представлять ограничение домена grails выше? – Angga

+0

Нет. Я имею в виду, что если бы я получил скрипт и запустил его в db, значит, у нас уже есть таблица, я ищу простой способ сопоставить класс домена с этой существующей таблицей. Потому что нам нужно определить ограничения в классе домена для сопоставления с таблицей в базе данных. Надеюсь, ты меня достал. Благодарю. –

+0

Если ограничения уже определены в БД, вам действительно не нужно воспроизводить их с 1 по 1 в вашем классе домена. Я имею в виду те ограничения, которые, конечно, будут нарушены при попадании в БД, а не те, которые проверяются только на сайте GORM, например 'maxSize' или' blank' – injecteer

ответ

0

Вам нужно всего лишь написать то, что вам нужно в классе домена, например, если у вас есть 5 полей в вашей фактической таблице в базе данных, но вам нужно всего лишь 3 поля в вашей программе, вы можете просто написать это поле 3 в своем домене класс. Этот случай также работает с отношением, вы можете просто написать отношение, которое вам нужно.

Но есть исключение, если вы хотите отфильтровать или проверить (все элементы) класс домена.

Вы можете использовать grails db reverse engineer plugin, чтобы получить класс домена из существующей таблицы.

Смежные вопросы