@@ -1160,8 +1160,12 @@ await db.refreshMaterializedView(newYorkers2).withNoData().concurrently();
11601160}
11611161
11621162{
1163+ const testSchema = pgSchema ( 'test' ) ;
1164+
11631165 const e1 = pgEnum ( 'test' , [ 'a' , 'b' , 'c' ] ) ;
11641166 const e2 = pgEnum ( 'test' , [ 'a' , 'b' , 'c' ] as const ) ;
1167+ const e3 = testSchema . enum ( 'test' , [ 'a' , 'b' , 'c' ] ) ;
1168+ const e4 = testSchema . enum ( 'test' , [ 'a' , 'b' , 'c' ] as const ) ;
11651169
11661170 const test = pgTable ( 'test' , {
11671171 col1 : char ( 'col1' , { enum : [ 'a' , 'b' , 'c' ] as const } ) ,
@@ -1175,6 +1179,8 @@ await db.refreshMaterializedView(newYorkers2).withNoData().concurrently();
11751179 col9 : varchar ( 'col9' , { enum : [ 'a' , 'b' , 'c' ] as const } ) ,
11761180 col10 : varchar ( 'col10' , { enum : [ 'a' , 'b' , 'c' ] } ) ,
11771181 col11 : varchar ( 'col11' ) ,
1182+ col12 : e3 ( 'col4' ) ,
1183+ col13 : e4 ( 'col5' ) ,
11781184 } ) ;
11791185
11801186 Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col1 . enumValues > > ;
@@ -1188,11 +1194,17 @@ await db.refreshMaterializedView(newYorkers2).withNoData().concurrently();
11881194 Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col9 . enumValues > > ;
11891195 Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col10 . enumValues > > ;
11901196 Expect < Equal < [ string , ...string [ ] ] , typeof test . col11 . enumValues > > ;
1197+ Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col12 . enumValues > > ;
1198+ Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col13 . enumValues > > ;
11911199}
11921200
11931201{
1202+ const testSchema = pgSchema ( 'test' ) ;
1203+
11941204 const e1 = pgEnum ( 'test' , [ 'a' , 'b' , 'c' ] ) ;
11951205 const e2 = pgEnum ( 'test' , [ 'a' , 'b' , 'c' ] as const ) ;
1206+ const e3 = testSchema . enum ( 'test' , [ 'a' , 'b' , 'c' ] ) ;
1207+ const e4 = testSchema . enum ( 'test' , [ 'a' , 'b' , 'c' ] as const ) ;
11961208
11971209 const test = pgTable ( 'test' , {
11981210 col1 : char ( 'col1' , { enum : [ 'a' , 'b' , 'c' ] as const } ) . generatedAlwaysAs ( sql `` ) ,
@@ -1206,6 +1218,8 @@ await db.refreshMaterializedView(newYorkers2).withNoData().concurrently();
12061218 col9 : varchar ( 'col9' , { enum : [ 'a' , 'b' , 'c' ] as const } ) . generatedAlwaysAs ( sql `` ) ,
12071219 col10 : varchar ( 'col10' , { enum : [ 'a' , 'b' , 'c' ] } ) . generatedAlwaysAs ( sql `` ) ,
12081220 col11 : varchar ( 'col11' ) . generatedAlwaysAs ( sql `` ) ,
1221+ col12 : e3 ( 'col4' ) . generatedAlwaysAs ( sql `` ) ,
1222+ col13 : e4 ( 'col5' ) . generatedAlwaysAs ( sql `` ) ,
12091223 } ) ;
12101224
12111225 Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col1 . enumValues > > ;
@@ -1219,6 +1233,8 @@ await db.refreshMaterializedView(newYorkers2).withNoData().concurrently();
12191233 Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col9 . enumValues > > ;
12201234 Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col10 . enumValues > > ;
12211235 Expect < Equal < [ string , ...string [ ] ] , typeof test . col11 . enumValues > > ;
1236+ Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col12 . enumValues > > ;
1237+ Expect < Equal < [ 'a' , 'b' , 'c' ] , typeof test . col13 . enumValues > > ;
12221238}
12231239
12241240{
@@ -1439,4 +1455,22 @@ await db.refreshMaterializedView(newYorkers2).withNoData().concurrently();
14391455 const res = await db . select ( ) . from ( table ) ;
14401456
14411457 Expect < Equal < { enum : Role | null } [ ] , typeof res > > ;
1458+
1459+ const mySchema = pgSchema ( 'my_schema' ) ;
1460+
1461+ const schemaRole = mySchema . enum ( 'role' , Role ) ;
1462+
1463+ // @ts -expect-error
1464+ mySchema . enum ( 'role' , RoleNonString ) ;
1465+
1466+ // @ts -expect-error
1467+ mySchema . enum ( 'role' , RolePartiallyString ) ;
1468+
1469+ const schemaTable = mySchema . table ( 'table' , {
1470+ enum : schemaRole ( 'enum' ) ,
1471+ } ) ;
1472+
1473+ const schemaRes = await db . select ( ) . from ( schemaTable ) ;
1474+
1475+ Expect < Equal < { enum : Role | null } [ ] , typeof schemaRes > > ;
14421476}
0 commit comments