mirror of
https://github.com/go-shiori/shiori.git
synced 2024-11-10 09:23:35 +08:00
fix(sqlite): id column should be unique (#894)
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
This commit is contained in:
parent
c107e974ca
commit
eaa6f0ea2a
2 changed files with 23 additions and 0 deletions
22
internal/database/migrations/sqlite/0003_uniq_id.up.sql
Normal file
22
internal/database/migrations/sqlite/0003_uniq_id.up.sql
Normal file
|
@ -0,0 +1,22 @@
|
|||
-- Create a temporary table
|
||||
CREATE TABLE IF NOT EXISTS bookmark_temp(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
url TEXT NOT NULL,
|
||||
title TEXT NOT NULL,
|
||||
excerpt TEXT NOT NULL DEFAULT "",
|
||||
author TEXT NOT NULL DEFAULT "",
|
||||
public INTEGER NOT NULL DEFAULT 0,
|
||||
modified TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
has_content BOOLEAN DEFAULT FALSE NOT NULL,
|
||||
CONSTRAINT bookmark_url_UNIQUE UNIQUE(url)
|
||||
);
|
||||
|
||||
-- Copy data from the original table to the temporary table
|
||||
INSERT INTO bookmark_temp (id, url, title, excerpt, author, public, modified, has_content)
|
||||
SELECT id, url, title, excerpt, author, public, modified, has_content FROM bookmark;
|
||||
|
||||
-- Drop the original table
|
||||
DROP TABLE bookmark;
|
||||
|
||||
-- Rename the temporary table to the original table name
|
||||
ALTER TABLE bookmark_temp RENAME TO bookmark;
|
|
@ -59,6 +59,7 @@ var sqliteMigrations = []migration{
|
|||
return nil
|
||||
}),
|
||||
newFileMigration("0.3.0", "0.4.0", "sqlite/0002_denormalize_content"),
|
||||
newFileMigration("0.4.0", "0.5.0", "sqlite/0003_uniq_id"),
|
||||
}
|
||||
|
||||
// SQLiteDatabase is implementation of Database interface
|
||||
|
|
Loading…
Reference in a new issue