Merge pull request #1 from otrapersona/dedup_trigger
Add trigger to remove duplicate posts on db
This commit is contained in:
commit
63161444a9
1 changed files with 2 additions and 0 deletions
2
main.py
2
main.py
|
@ -87,6 +87,7 @@ db = sqlite3.connect("toots.db")
|
||||||
db.text_factory=str
|
db.text_factory=str
|
||||||
c = db.cursor()
|
c = db.cursor()
|
||||||
c.execute("CREATE TABLE IF NOT EXISTS `toots` (sortid INTEGER UNIQUE PRIMARY KEY AUTOINCREMENT, id VARCHAR NOT NULL, cw INT NOT NULL DEFAULT 0, userid VARCHAR NOT NULL, uri VARCHAR NOT NULL, content VARCHAR NOT NULL)")
|
c.execute("CREATE TABLE IF NOT EXISTS `toots` (sortid INTEGER UNIQUE PRIMARY KEY AUTOINCREMENT, id VARCHAR NOT NULL, cw INT NOT NULL DEFAULT 0, userid VARCHAR NOT NULL, uri VARCHAR NOT NULL, content VARCHAR NOT NULL)")
|
||||||
|
c.execute("CREATE TRIGGER IF NOT EXISTS `dedup` AFTER INSERT ON toots FOR EACH ROW BEGIN DELETE FROM toots WHERE rowid NOT IN (SELECT MIN(sortid) FROM toots GROUP BY uri ); END; ")
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
tableinfo = c.execute("PRAGMA table_info(`toots`)").fetchall()
|
tableinfo = c.execute("PRAGMA table_info(`toots`)").fetchall()
|
||||||
|
@ -121,6 +122,7 @@ if not found:
|
||||||
|
|
||||||
c.execute("DROP TABLE `toots`")
|
c.execute("DROP TABLE `toots`")
|
||||||
c.execute("ALTER TABLE `toots_temp` RENAME TO `toots`")
|
c.execute("ALTER TABLE `toots_temp` RENAME TO `toots`")
|
||||||
|
c.execute("CREATE TRIGGER IF NOT EXISTS `dedup` AFTER INSERT ON toots FOR EACH ROW BEGIN DELETE FROM toots WHERE rowid NOT IN (SELECT MIN(sortid) FROM toots GROUP BY uri ); END; ")
|
||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue