Improve database to golang name mapping.
This commit is contained in:
parent
3e7277015d
commit
950663dadb
19 changed files with 538 additions and 122 deletions
|
|
@ -198,4 +198,34 @@ CREATE TABLE test_sample.person(
|
|||
|
||||
DROP TYPE IF EXISTS test_sample.MOOD CASCADE;
|
||||
|
||||
CREATE TYPE test_sample.MOOD AS ENUM ('sad', 'ok', 'happy');
|
||||
CREATE TYPE test_sample.MOOD AS ENUM ('sad', 'ok', 'happy');
|
||||
|
||||
|
||||
-- WEIRD TABLE NAMES --------------
|
||||
|
||||
DROP TABLE IF EXISTS test_sample."WEIRD NAMES TABLE";
|
||||
|
||||
CREATE TABLE test_sample."WEIRD NAMES TABLE"(
|
||||
"weird_column_name1" varchar(100) NOT NULL,
|
||||
"Weird_Column_Name2" varchar(100) NOT NULL,
|
||||
"wEiRd_cOluMn_nAmE3" varchar(100) NOT NULL,
|
||||
"WeIrd_CoLuMN_Name4" varchar(100) NOT NULL,
|
||||
"WEIRD_COLUMN_NAME5" varchar(100) NOT NULL,
|
||||
|
||||
"WeirdColumnName6" varchar(100) NOT NULL,
|
||||
"weirdColumnName7" varchar(100) NOT NULL,
|
||||
"weirdcolumnname8" varchar(100),
|
||||
|
||||
"weird col name9" varchar(100) NOT NULL,
|
||||
"wEiRd cOlu nAmE10" varchar(100) NOT NULL,
|
||||
"WEIRD COLU NAME11" varchar(100) NOT NULL,
|
||||
"Weird Colu Name12" varchar(100) NOT NULL,
|
||||
|
||||
"weird-col-name13" varchar(100) NOT NULL,
|
||||
"wEiRd-cOlu-nAmE14" varchar(100) NOT NULL,
|
||||
"WEIRD-COLU-NAME15" varchar(100) NOT NULL,
|
||||
"Weird-Colu-Name16" varchar(100) NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO test_sample."WEIRD NAMES TABLE"
|
||||
VALUES ('Doe', 'Doe', 'Doe', 'Doe','Doe', 'Doe', 'Doe', 'Doe','Doe', 'Doe', 'Doe', 'Doe','Doe', 'Doe', 'Doe', 'Doe');
|
||||
|
|
@ -116,3 +116,35 @@ ORDER BY employee.employee_id;
|
|||
ManagerID: int32Ptr(3),
|
||||
})
|
||||
}
|
||||
|
||||
func TestWierdNamesTable(t *testing.T) {
|
||||
stmt := WeirdNamesTable.SELECT(WeirdNamesTable.AllColumns)
|
||||
|
||||
fmt.Println(stmt.DebugSql())
|
||||
|
||||
dest := []model.WeirdNamesTable{}
|
||||
|
||||
err := stmt.Query(db, &dest)
|
||||
|
||||
assert.NilError(t, err)
|
||||
|
||||
assert.Equal(t, len(dest), 1)
|
||||
assert.DeepEqual(t, dest[0], model.WeirdNamesTable{
|
||||
WeirdColumnName1: "Doe",
|
||||
WeirdColumnName2: "Doe",
|
||||
WeirdColumnName3: "Doe",
|
||||
WeirdColumnName4: "Doe",
|
||||
WeirdColumnName5: "Doe",
|
||||
WeirdColumnName6: "Doe",
|
||||
WeirdColumnName7: "Doe",
|
||||
Weirdcolumnname8: stringPtr("Doe"),
|
||||
WeirdColName9: "Doe",
|
||||
WeirdColuName10: "Doe",
|
||||
WeirdColuName11: "Doe",
|
||||
WeirdColuName12: "Doe",
|
||||
WeirdColName13: "Doe",
|
||||
WeirdColuName14: "Doe",
|
||||
WeirdColuName15: "Doe",
|
||||
WeirdColuName16: "Doe",
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -467,7 +467,7 @@ func TestScanToSlice(t *testing.T) {
|
|||
t.Run("slice of structs with slice of ints", func(t *testing.T) {
|
||||
var dest []struct {
|
||||
model.Film
|
||||
IDs []int32 `alias:"Inventory.inventory_id"`
|
||||
IDs []int32 `alias:"inventory.inventory_id"`
|
||||
}
|
||||
|
||||
err := query.Query(db, &dest)
|
||||
|
|
@ -483,7 +483,7 @@ func TestScanToSlice(t *testing.T) {
|
|||
t.Run("slice of structs with slice of pointer to ints", func(t *testing.T) {
|
||||
var dest []struct {
|
||||
model.Film
|
||||
IDs []*int32 `alias:"inventory.InventoryId"`
|
||||
IDs []*int32 `alias:"inventory.inventory_id"`
|
||||
}
|
||||
|
||||
err := query.Query(db, &dest)
|
||||
|
|
@ -796,7 +796,7 @@ var store1 = model.Store{
|
|||
LastUpdate: *timestampWithoutTimeZone("2006-02-15 09:57:12", 0),
|
||||
}
|
||||
|
||||
var pgRating = model.MpaaRating_PG
|
||||
var pgRating = model.MpaaRating_Pg
|
||||
var gRating = model.MpaaRating_G
|
||||
|
||||
var language1 = model.Language{
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ LIMIT 15;
|
|||
query := Film.
|
||||
INNER_JOIN(Language, Film.LanguageID.EQ(Language.LanguageID)).
|
||||
SELECT(Language.AllColumns, Film.AllColumns).
|
||||
WHERE(Film.Rating.EQ(enum.MpaaRating.NC17)).
|
||||
WHERE(Film.Rating.EQ(enum.MpaaRating.Nc17)).
|
||||
LIMIT(15)
|
||||
|
||||
assertStatementSql(t, query, expectedSql, int64(15))
|
||||
|
|
@ -304,7 +304,7 @@ LIMIT 15;
|
|||
|
||||
englishFilms := filmsPerLanguage[0]
|
||||
|
||||
assert.Equal(t, *englishFilms.Film[0].Rating, model.MpaaRating_NC17)
|
||||
assert.Equal(t, *englishFilms.Film[0].Rating, model.MpaaRating_Nc17)
|
||||
|
||||
filmsPerLanguageWithPtrs := []*FilmsPerLanguage{}
|
||||
err = query.Query(db, &filmsPerLanguageWithPtrs)
|
||||
|
|
@ -1237,6 +1237,7 @@ ORDER BY actor.actor_id ASC, film.film_id ASC;
|
|||
}
|
||||
|
||||
func TestQuickStartWithSubQueries(t *testing.T) {
|
||||
|
||||
filmLogerThan180 := Film.
|
||||
SELECT(Film.AllColumns).
|
||||
WHERE(Film.Length.GT(Int(180))).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue