@@ -9,19 +9,27 @@ import {
99 index ,
1010} from 'drizzle-orm/pg-core' ;
1111
12- export const referenceTables = pgTable ( 'reference_tables' , {
13- id : serial ( 'id' ) . primaryKey ( ) ,
14- code : integer ( 'code' ) . unique ( ) . notNull ( ) ,
15- month : integer ( 'month' ) . notNull ( ) ,
16- year : integer ( 'year' ) . notNull ( ) ,
17- crawledAt : timestamp ( 'crawled_at' ) ,
18- } ) ;
12+ export const referenceTables = pgTable (
13+ 'reference_tables' ,
14+ {
15+ id : serial ( 'id' ) . primaryKey ( ) ,
16+ code : integer ( 'code' ) . unique ( ) . notNull ( ) ,
17+ month : integer ( 'month' ) . notNull ( ) ,
18+ year : integer ( 'year' ) . notNull ( ) ,
19+ crawledAt : timestamp ( 'crawled_at' ) ,
20+ } ,
21+ ( table ) => [ index ( 'idx_reference_year_month' ) . on ( table . year , table . month ) ] ,
22+ ) ;
1923
20- export const brands = pgTable ( 'brands' , {
21- id : serial ( 'id' ) . primaryKey ( ) ,
22- fipeCode : varchar ( 'fipe_code' , { length : 10 } ) . unique ( ) . notNull ( ) ,
23- name : varchar ( 'name' , { length : 100 } ) . notNull ( ) ,
24- } ) ;
24+ export const brands = pgTable (
25+ 'brands' ,
26+ {
27+ id : serial ( 'id' ) . primaryKey ( ) ,
28+ fipeCode : varchar ( 'fipe_code' , { length : 10 } ) . unique ( ) . notNull ( ) ,
29+ name : varchar ( 'name' , { length : 100 } ) . notNull ( ) ,
30+ } ,
31+ ( table ) => [ index ( 'idx_brands_name' ) . on ( table . name ) ] ,
32+ ) ;
2533
2634export const SEGMENTS = [
2735 'Buggy' ,
@@ -50,7 +58,11 @@ export const models = pgTable(
5058 segment : varchar ( 'segment' , { length : 20 } ) ,
5159 segmentSource : varchar ( 'segment_source' , { length : 10 } ) ,
5260 } ,
53- ( table ) => [ unique ( ) . on ( table . brandId , table . fipeCode ) ] ,
61+ ( table ) => [
62+ unique ( ) . on ( table . brandId , table . fipeCode ) ,
63+ index ( 'idx_models_brand_id' ) . on ( table . brandId ) ,
64+ index ( 'idx_models_segment' ) . on ( table . segment ) ,
65+ ] ,
5466) ;
5567
5668export const modelYears = pgTable (
@@ -64,7 +76,11 @@ export const modelYears = pgTable(
6476 fuelCode : integer ( 'fuel_code' ) . notNull ( ) ,
6577 fuelName : varchar ( 'fuel_name' , { length : 50 } ) ,
6678 } ,
67- ( table ) => [ unique ( ) . on ( table . modelId , table . year , table . fuelCode ) ] ,
79+ ( table ) => [
80+ unique ( ) . on ( table . modelId , table . year , table . fuelCode ) ,
81+ index ( 'idx_model_years_model_id' ) . on ( table . modelId ) ,
82+ index ( 'idx_model_years_year' ) . on ( table . year ) ,
83+ ] ,
6884) ;
6985
7086export const prices = pgTable (
@@ -85,5 +101,6 @@ export const prices = pgTable(
85101 unique ( ) . on ( table . modelYearId , table . referenceTableId ) ,
86102 index ( 'idx_prices_reference' ) . on ( table . referenceTableId ) ,
87103 index ( 'idx_prices_fipe_code' ) . on ( table . fipeCode ) ,
104+ index ( 'idx_prices_model_year_id' ) . on ( table . modelYearId ) ,
88105 ] ,
89106) ;
0 commit comments