3 つのテーブル、シナリオ、フォーム、および 2 つを接続するためのリンク テーブルがあります。フォームは複数のシナリオに属することができ、シナリオは複数のフォームを持つことができます。リンク テーブルにはその関係情報が保持されます。グレイルで?存在するテーブルの構造を変更することはできません... :/
リンク テーブルの構造は単純です。
form_id (matches PK of form table)
test_scenario_id (matches the PK on the test scenario table)
[order] (defines the order in which the forms should display)
プレーンな古い SQL 内では、次のように結合を利用できますが、それを Groovy に変換する方法がわかりません: -
select lnk_scenario_form.test_scenario_id, dbo.lnk_scenario_form.[order], dbo.form.form_id
from dbo.form
JOIN lnk_scenario_form on form.form_id = lnk_scenario_form.form_id
JOIN dbo.test_scenario on dbo.test_scenario.test_scenario_id = lnk_scenario_form.test_scenario_id
where lnk_scenario_form.test_scenario_id = SCENARIO ID
order by lnk_scenario_form.[order];
これまでに設定したクラスは次のとおりです。
class Form {
static constraints = {
formDesc(blank:false,maxSize:100)
}
static mapping = {
table "form"
version false
columns{
id column:"form_id"
formDesc column:"description"
}
}
String formDesc
}
と
package fartframework
class TestScenario {
static constraints = {
testscenariodesc(blank:false, maxSize:100, unique: true)
browser(inList:["RND","FF","CH","IE"], blank:false)
myrelease(blank:false, maxSize:10)
system(blank:false, maxSize:50)
subSystem(blank:false, maxSize:50)
}
static mapping = {
table "test_scenario"
version false
columns{
id column:"test_scenario_id"
testscenariodesc column:"description"
browser column:"browser"
myrelease column:"release"
system column:"system"
subSystem column:"subSystem"
}
}
String testscenariodesc
String browser
String myrelease
String system
String subSystem
String toString (){
"${testscenariodesc}"
}
}