2016-04-04 16 views
0

Bir bulut uygulaması oluşturmak için IBM Bluemix'in dashDB veritabanı hizmetini kullanıyorum. Eh, benim app çalıştırdığınızda, hibernate hbm2ddl.auto özelliği güncellemek için ayarlandığı gibi, bu dashDB tabanımı güncelleyecektir.DashDB - Hazırda bekletme ile yabancı anahtar oluşturmak için sorunlar

Ancak, aşağıdaki hata konsolda görünür:

[ERROR ] HHH000388: Unsuccessful: alter table DASH104411.table1 add constraint 
FK_m1vvn3lavq1rjt9oghf0m3x5t foreign key (id_table2) references DASH104411.table2 
[ERROR ] DB2 SQL Error: SQLCODE=-1667, SQLSTATE=42858, SQLERRMC=DASH104411.TABLE2; 
ORGANIZE BY COLUMN;ENFORCED, DRIVER=4.19.49 

Ben varsayılan olarak dashDB için oluşturulan tablolar sütununda ve tek tarafından düzenlenir, biliyoruz referans kısıtlamalar desteklenir olmayan zorlanan. Peki nasıl hazırda bekletme tarafından zorlanmayan yabancı anahtarlar oluştururum? Hazırda bekletme tarafından düzenlenmiş tablolar oluşturmak için bir yolu var mı? Bir mekanizma

cevap

0

farkında değil Hazırda 'organize_by_row' maddesi ile oluşturmak tablo DDL oluşturmak için. Muhtemelen SQLDB servisini kullanmak istersiniz. Bu daha önceki yayınına bakın - https://developer.ibm.com/answers/questions/21252/how-to-use-ruby-on-rails-with-analytics-warehouse-service-blu-acceleration-on-bluemix.html

+0

Nitekim hbm2ddl kendisine bu esnekliği yoktur. Ama ben bunu hazırda geliştiricinin kendi DLL üretecini oluşturmasına izin veren başka bir araç olduğunu gördüm. u http://stackoverflow.com/questions/438146/hibernate-hbm2ddl-auto-possible-values-and-what-they-do – Islon

+0

bazı çemberler geçmesi için istekli iseniz: Bu konu konuda çok aydınlatıcıdır Hibernate'in DDL'leri bir dosyada yazmasını sağlamak için bir kod yazabilir (http://jandrewthompson.blogspot.in/2009/10/how-to-generate-ddl-scripts-from.html). Daha sonra dosyayı elle düzenleyin ve 'organize_by_row' yan tümcesini create table DDL'ye ekleyin. Şimdi bu dosyayı dashDB örneğinizde çalıştırın –

İlgili konular