handle missing guid

This commit is contained in:
Nazar Kanaev 2020-08-18 17:56:25 +01:00
parent 6ca1eab9ff
commit 934b95831e
2 changed files with 5 additions and 2 deletions

View File

@ -76,6 +76,9 @@ func (s *Storage) CreateItems(items []Item) bool {
if item.Date == nil { if item.Date == nil {
item.Date = item.DateUpdated item.Date = item.DateUpdated
} }
if item.GUID == "" {
item.GUID = item.Link
}
_, err = tx.Exec(` _, err = tx.Exec(`
insert into items ( insert into items (
guid, feed_id, title, link, description, guid, feed_id, title, link, description,
@ -84,7 +87,7 @@ func (s *Storage) CreateItems(items []Item) bool {
status, image status, image
) )
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
on conflict (guid) do update set on conflict (feed_id, guid) do update set
date_updated = ?, date_arrived = ?`, date_updated = ?, date_arrived = ?`,
item.GUID, item.FeedId, html.UnescapeString(item.Title), item.Link, item.Description, item.GUID, item.FeedId, html.UnescapeString(item.Title), item.Link, item.Description,
item.Content, item.Author, item.Content, item.Author,

View File

@ -48,8 +48,8 @@ create table if not exists items (
create index if not exists idx_item_feed_id on items(feed_id); create index if not exists idx_item_feed_id on items(feed_id);
create index if not exists idx_item_status on items(status); create index if not exists idx_item_status on items(status);
create unique index if not exists idx_item_guid on items(guid);
create index if not exists idx_item_search_rowid on items(search_rowid); create index if not exists idx_item_search_rowid on items(search_rowid);
create unique index if not exists idx_item_guid on items(feed_id, guid);
create table if not exists settings ( create table if not exists settings (
key string primary key, key string primary key,