Ben -Basitleştirilmiş ile Grails uygulama var. (Bunlar DB'de birincil anahtar olmalıdır).Grails etki alanı kısıtlamaları tanımı
Böyle bir kısıtlamayı nasıl tanımlarım?
Şimdiden teşekkürler çok
Luis
Ben -Basitleştirilmiş ile Grails uygulama var. (Bunlar DB'de birincil anahtar olmalıdır).Grails etki alanı kısıtlamaları tanımı
Böyle bir kısıtlamayı nasıl tanımlarım?
Şimdiden teşekkürler çok
Luis
Bunun bir composite primary key DB bu eşleştirmeyi beyan etmek zorunda kalacak olmasını istediğim için: (Aşağıdaki tabloya üretir
class Capacity implements Serializable {
Date month
Company company
String note
...
static mapping = {
id composite:['month', 'company']
}
}
MySQL):
CREATE
TABLE capacity
(
MONTH DATETIME NOT NULL,
company_id bigint NOT NULL,
version bigint NOT NULL,
note VARCHAR(255) NOT NULL,
PRIMARY KEY (MONTH, company_id),
INDEX FKFBF514BA69595C7A (company_id)
)
ENGINE=MyISAM DEFAULT CHARSET=latin1
teşekkürler! Bu tam olarak ne aradığım – Luixv
Bu hala validate() 'sırasında benzersizliği zorluyor mu? Değilse, bu cevabın ve Dave'in bir kombinasyonunun gerekli olduğunu düşünüyorum. Aksi halde Grails doğrulama hataları yerine SQL kısıtlaması istisnaları elde edersiniz. –
@RobHruska Kısıtlamalardan bazıları, birim sınamasında (Grails 2.0'dan önce) doğrulamak ve orada olmaması için veritabanının durumunu kullanır. –
Şunun gibi bir şey olmalıdır:
static constraints = {
month(blank:false, nullable:false, unique:'company')
company(blank:false, nullable:false)
}
http://grails.org/doc/latest/ref/Constraints/unique.html'a bakın.
sadece Grails değil, Groovy on Grails. –