@@ -53,10 +53,12 @@ func TestJoinLimit(t *testing.T) {
5353 assert .NoError (t , err )
5454 assert .EqualValues (t , 1 , cnt )
5555
56+ tableName := mapper .Obj2Table ("CheckList" )
57+
5658 var salaries []Salary
5759 err = testEngine .Table ("salary" ).
58- Join ("INNER" , "check_list" , "check_list .id = salary.lid" ).
59- Join ("LEFT" , "empsetting" , "empsetting.id = check_list .eid" ).
60+ Join ("INNER" , tableName , tableName + " .id = salary.lid" ).
61+ Join ("LEFT" , "empsetting" , "empsetting.id = " + tableName + " .eid" ).
6062 Limit (10 , 0 ).
6163 Find (& salaries )
6264 assert .NoError (t , err )
@@ -133,7 +135,7 @@ type TeamUser struct {
133135}
134136
135137func (TeamUser ) TableName () string {
136- return "team_user"
138+ return mapper . Obj2Table ( "TeamUser" )
137139}
138140
139141func TestFind3 (t * testing.T ) {
@@ -142,51 +144,58 @@ func TestFind3(t *testing.T) {
142144 err := testEngine .Sync2 (new (Team ), teamUser )
143145 assert .NoError (t , err )
144146
147+ tableName := mapper .Obj2Table ("TeamUser" )
148+ teamTableName := mapper .Obj2Table ("Team" )
149+ idName := mapper .Obj2Table ("Id" )
150+ orgIDName := mapper .Obj2Table ("OrgId" )
151+ uidName := mapper .Obj2Table ("Uid" )
152+ teamIDName := mapper .Obj2Table ("TeamId" )
153+
145154 var teams []Team
146- err = testEngine .Cols ("`team`.id" ).
147- Where ("`team_user`.org_id =?" , 1 ).
148- And ("`team_user`.uid =?" , 2 ).
149- Join ("INNER" , "`team_user `" , "`team_user`.team_id=`team`.id" ).
155+ err = testEngine .Cols ("`" + teamTableName + "`." + idName ).
156+ Where ("`" + tableName + "`." + orgIDName + " =?" , 1 ).
157+ And ("`" + tableName + "`." + uidName + " =?" , 2 ).
158+ Join ("INNER" , "`" + tableName + " `" , "`" + tableName + "`." + teamIDName + "=`" + teamTableName + "`." + idName ).
150159 Find (& teams )
151160 assert .NoError (t , err )
152161
153162 teams = make ([]Team , 0 )
154- err = testEngine .Cols ("`team`.id" ).
155- Where ("`team_user`.org_id =?" , 1 ).
156- And ("`team_user`.uid =?" , 2 ).
157- Join ("INNER" , teamUser , "`team_user`.team_id=`team`.id" ).
163+ err = testEngine .Cols ("`" + teamTableName + "`." + idName ).
164+ Where ("`" + tableName + "`." + orgIDName + " =?" , 1 ).
165+ And ("`" + tableName + "`." + uidName + " =?" , 2 ).
166+ Join ("INNER" , teamUser , "`" + tableName + "`." + teamIDName + "=`" + teamTableName + "`." + idName ).
158167 Find (& teams )
159168 assert .NoError (t , err )
160169
161170 teams = make ([]Team , 0 )
162- err = testEngine .Cols ("`team`.id" ).
163- Where ("`team_user`.org_id =?" , 1 ).
164- And ("`team_user`.uid =?" , 2 ).
165- Join ("INNER" , []interface {}{teamUser }, "`team_user`.team_id=`team`.id" ).
171+ err = testEngine .Cols ("`" + teamTableName + "`." + idName ).
172+ Where ("`" + tableName + "`." + orgIDName + " =?" , 1 ).
173+ And ("`" + tableName + "`." + uidName + " =?" , 2 ).
174+ Join ("INNER" , []interface {}{teamUser }, "`" + tableName + "`." + teamIDName + "=`" + teamTableName + "`." + idName ).
166175 Find (& teams )
167176 assert .NoError (t , err )
168177
169178 teams = make ([]Team , 0 )
170- err = testEngine .Cols ("`team `.id" ).
171- Where ("`tu`.org_id =?" , 1 ).
172- And ("`tu`.uid =?" , 2 ).
173- Join ("INNER" , []string {"team_user" , "tu" }, "`tu`.team_id=`team`.id" ).
179+ err = testEngine .Cols ("`" + teamTableName + " `.id" ).
180+ Where ("`tu`." + orgIDName + " =?" , 1 ).
181+ And ("`tu`." + uidName + " =?" , 2 ).
182+ Join ("INNER" , []string {tableName , "tu" }, "`tu`." + teamIDName + "=`" + teamTableName + "`." + idName ).
174183 Find (& teams )
175184 assert .NoError (t , err )
176185
177186 teams = make ([]Team , 0 )
178- err = testEngine .Cols ("`team`.id" ).
179- Where ("`tu`.org_id =?" , 1 ).
180- And ("`tu`.uid =?" , 2 ).
181- Join ("INNER" , []interface {}{"team_user" , "tu" }, "`tu`.team_id=`team`.id" ).
187+ err = testEngine .Cols ("`" + teamTableName + "`." + idName ).
188+ Where ("`tu`." + orgIDName + " =?" , 1 ).
189+ And ("`tu`." + uidName + " =?" , 2 ).
190+ Join ("INNER" , []interface {}{tableName , "tu" }, "`tu`." + teamIDName + "=`" + teamTableName + "`." + idName ).
182191 Find (& teams )
183192 assert .NoError (t , err )
184193
185194 teams = make ([]Team , 0 )
186- err = testEngine .Cols ("`team`.id" ).
187- Where ("`tu`.org_id =?" , 1 ).
188- And ("`tu`.uid =?" , 2 ).
189- Join ("INNER" , []interface {}{teamUser , "tu" }, "`tu`.team_id=`team`.id" ).
195+ err = testEngine .Cols ("`" + teamTableName + "`." + idName ).
196+ Where ("`tu`." + orgIDName + " =?" , 1 ).
197+ And ("`tu`." + uidName + " =?" , 2 ).
198+ Join ("INNER" , []interface {}{teamUser , "tu" }, "`tu`." + teamIDName + "=`" + teamTableName + "`." + idName ).
190199 Find (& teams )
191200 assert .NoError (t , err )
192201}
@@ -197,10 +206,8 @@ func TestFindMap(t *testing.T) {
197206
198207 users := make (map [int64 ]Userinfo )
199208 err := testEngine .Find (& users )
200- if err != nil {
201- t .Error (err )
202- panic (err )
203- }
209+ assert .NoError (t , err )
210+
204211 for _ , user := range users {
205212 fmt .Println (user )
206213 }
@@ -212,10 +219,8 @@ func TestFindMap2(t *testing.T) {
212219
213220 users := make (map [int64 ]* Userinfo )
214221 err := testEngine .Find (& users )
215- if err != nil {
216- t .Error (err )
217- panic (err )
218- }
222+ assert .NoError (t , err )
223+
219224 for id , user := range users {
220225 fmt .Println (id , user )
221226 }
@@ -791,13 +796,20 @@ func TestFindJoin(t *testing.T) {
791796 assert .NoError (t , prepareEngine ())
792797 assertSync (t , new (SceneItem ), new (DeviceUserPrivrels ))
793798
799+ tableName1 := mapper .Obj2Table ("SceneItem" )
800+ tableName2 := mapper .Obj2Table ("DeviceUserPrivrels" )
801+
802+ deviceIDName := mapper .Obj2Table ("DeviceId" )
803+ userIDName := mapper .Obj2Table ("UserId" )
804+ typeName := mapper .Obj2Table ("Type" )
805+
794806 var scenes []SceneItem
795- err := testEngine .Join ("LEFT OUTER" , "device_user_privrels" , "device_user_privrels.device_id=scene_item.device_id" ).
796- Where ("scene_item.type =?" , 3 ).Or ("device_user_privrels.user_id =?" , 339 ).Find (& scenes )
807+ err := testEngine .Join ("LEFT OUTER" , tableName2 , tableName1 + "." + deviceIDName + "=" + tableName2 + "." + deviceIDName ).
808+ Where (tableName1 + "." + typeName + " =?" , 3 ).Or (tableName2 + "." + userIDName + " =?" , 339 ).Find (& scenes )
797809 assert .NoError (t , err )
798810
799811 scenes = make ([]SceneItem , 0 )
800- err = testEngine .Join ("LEFT OUTER" , new (DeviceUserPrivrels ), "device_user_privrels.device_id=scene_item.device_id" ).
801- Where ("scene_item.type =?" , 3 ).Or ("device_user_privrels.user_id =?" , 339 ).Find (& scenes )
812+ err = testEngine .Join ("LEFT OUTER" , new (DeviceUserPrivrels ), tableName1 + "." + deviceIDName + "=" + tableName2 + "." + deviceIDName ).
813+ Where (tableName1 + "." + typeName + " =?" , 3 ).Or (tableName2 + "." + userIDName + " =?" , 339 ).Find (& scenes )
802814 assert .NoError (t , err )
803815}
0 commit comments