Skip to content

Commit 27963ed

Browse files
committed
Merge branch 'yuzuy/conflict_column_name_and_method_name' into dev
2 parents 9ca00ed + a5326b1 commit 27963ed

File tree

6 files changed

+43
-13
lines changed

6 files changed

+43
-13
lines changed

boilingcore/text_helpers.go

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,23 @@ import (
3838
// fk == table = industry.Industry | industry.Industry
3939
// fk != table = industry.ParentIndustry | industry.Industry
4040
func txtNameToOne(fk drivers.ForeignKey) (localFn, foreignFn string) {
41-
foreignFn = strmangle.Singular(trimSuffixes(fk.Column))
42-
fkeyNotTableName := foreignFn != strmangle.Singular(fk.ForeignTable)
43-
foreignFn = strmangle.TitleCase(foreignFn)
41+
fkColumnTrimmedSuffixes := strmangle.Singular(trimSuffixes(fk.Column))
42+
fkNotTableName := fkColumnTrimmedSuffixes != strmangle.Singular(fk.ForeignTable)
43+
singularForeignTable := strmangle.Singular(fk.ForeignTable)
44+
45+
if fkColumnTrimmedSuffixes == singularForeignTable {
46+
foreignFn = strmangle.TitleCase(strmangle.Singular(fk.Table) + "_" + fkColumnTrimmedSuffixes)
47+
if fk.Column != singularForeignTable {
48+
foreignFn = strmangle.TitleCase(fkColumnTrimmedSuffixes)
49+
}
50+
} else if fkColumnTrimmedSuffixes == fk.Column {
51+
foreignFn = strmangle.TitleCase(fkColumnTrimmedSuffixes + "_" + strmangle.Singular(fk.ForeignTable))
52+
} else {
53+
foreignFn = strmangle.TitleCase(fkColumnTrimmedSuffixes)
54+
}
4455

45-
if fkeyNotTableName {
46-
localFn = foreignFn
56+
if fkNotTableName {
57+
localFn = strmangle.TitleCase(fkColumnTrimmedSuffixes)
4758
}
4859

4960
plurality := strmangle.Plural

boilingcore/text_helpers_test.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ func TestTxtNameToOne(t *testing.T) {
3939
{"videos", "user_id", true, "users", "id", true, "Video", "User"},
4040
{"videos", "producer_id", true, "users", "id", true, "ProducerVideo", "Producer"},
4141

42+
{"videos", "user", false, "users", "id", true, "Videos", "VideoUser"},
43+
{"videos", "created_by", false, "users", "id", true, "CreatedByVideos", "CreatedByUser"},
44+
{"videos", "director", false, "users", "id", true, "DirectorVideos", "DirectorUser"},
45+
{"videos", "user", true, "users", "id", true, "Video", "VideoUser"},
46+
{"videos", "created_by", true, "users", "id", true, "CreatedByVideo", "CreatedByUser"},
47+
{"videos", "director", true, "users", "id", true, "DirectorVideo", "DirectorUser"},
48+
4249
{"industries", "industry_id", false, "industries", "id", true, "Industries", "Industry"},
4350
{"industries", "parent_id", false, "industries", "id", true, "ParentIndustries", "Parent"},
4451
{"industries", "industry_id", true, "industries", "id", true, "Industry", "Industry"},

drivers/sqlboiler-mssql/driver/bindata.go

Lines changed: 5 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

drivers/sqlboiler-mysql/driver/bindata.go

Lines changed: 5 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

drivers/sqlboiler-psql/driver/bindata.go

Lines changed: 5 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

templatebin/bindata.go

Lines changed: 5 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)