remove location table
This commit is contained in:
parent
ae891a58f4
commit
5e8ccc6be1
@ -23,11 +23,9 @@ func NewPGXRepo(pool *pgxpool.Pool) Repository {
|
||||
}
|
||||
}
|
||||
|
||||
const insertAcceptedMeteoData = `insert into public.meteo_data (location_id, max_temp, min_temp, rainfall, cloudiness, created_at) values ($1, $2, $3, $4, $5, $6) returning id`
|
||||
const insertAcceptedMeteoData = `insert into public.meteo_data (location_name, max_temp, min_temp, rainfall, cloudiness, created_at) values ($1, $2, $3, $4, $5, $6) returning id`
|
||||
|
||||
func (pgx *pgxRepo) InsertAcceptedMeteoData(ctx context.Context, data []MeteoData) (int, error) {
|
||||
// TODO pass context
|
||||
// TODO improve transaction
|
||||
tx, err := pgx.Begin(ctx)
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("error starting transaction: %w", err)
|
||||
@ -37,8 +35,7 @@ func (pgx *pgxRepo) InsertAcceptedMeteoData(ctx context.Context, data []MeteoDat
|
||||
batch := &b.Batch{}
|
||||
|
||||
for _, d := range data {
|
||||
// TODO get city id before insert!
|
||||
batch.Queue(insertAcceptedMeteoData, 1, d.MaxTemp, d.MinTemp, d.Rainfall, d.Cloudiness, d.Timestamp)
|
||||
batch.Queue(insertAcceptedMeteoData, d.Location, d.MaxTemp, d.MinTemp, d.Rainfall, d.Cloudiness, d.Timestamp)
|
||||
}
|
||||
|
||||
results := tx.SendBatch(ctx, batch)
|
||||
|
||||
@ -1,15 +1,8 @@
|
||||
create table public.locations
|
||||
(
|
||||
id serial primary key,
|
||||
location_name varchar(255) not null unique
|
||||
);
|
||||
|
||||
|
||||
create table public.meteo_data
|
||||
(
|
||||
id serial primary key,
|
||||
|
||||
location_id int not null references public.locations (id),
|
||||
location_name citext not null,
|
||||
max_temp float not null,
|
||||
min_temp float not null,
|
||||
rainfall float not null,
|
||||
@ -18,6 +11,8 @@ create table public.meteo_data
|
||||
created_at timestamp not null default now()
|
||||
);
|
||||
|
||||
create index idx_meteo_data_location_name on public.meteo_data (location_name);
|
||||
|
||||
create table public.rejected_data
|
||||
(
|
||||
id serial primary key,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user