Fix likes 'sort_order' being unique when '-1' is used as 'unknown' value

This commit is contained in:
Alessio 2023-10-13 17:55:40 -03:00
parent 72df452401
commit 99ef17f820
3 changed files with 20 additions and 2 deletions

View File

@ -191,7 +191,7 @@ create table hashtags (rowid integer primary key,
);
create table likes(rowid integer primary key,
sort_order integer unique not null,
sort_order integer not null, -- Can't be unique because "-1" is used as "unknown" value
user_id integer not null,
tweet_id integer not null,
unique(user_id, tweet_id)

View File

@ -131,6 +131,24 @@ var MIGRATIONS = []string{
update spaces set started_at = started_at/1000 where started_at > strftime("%s")*500;
update spaces set created_at = created_at/1000 where created_at > strftime("%s")*500;`,
`alter table users add column is_deleted boolean default 0`,
`begin transaction;
alter table likes rename to likes_old;
create table likes(rowid integer primary key,
sort_order integer not null,
user_id integer not null,
tweet_id integer not null,
unique(user_id, tweet_id)
foreign key(user_id) references users(id)
foreign key(tweet_id) references tweets(id)
);
create index if not exists index_likes_user_id on likes (user_id);
create index if not exists index_likes_tweet_id on likes (tweet_id);
insert into likes select * from likes_old;
drop table likes_old;
commit;
vacuum;`,
}
var ENGINE_DATABASE_VERSION = len(MIGRATIONS)

View File

@ -299,7 +299,7 @@ CREATE TABLE hashtags (rowid integer primary key,
);
create table likes(rowid integer primary key,
sort_order integer unique not null,
sort_order integer not null,
user_id integer not null,
tweet_id integer not null,
unique(user_id, tweet_id)