Use a compound primary key for articles
parent
2b6c6d78ea
commit
66fe16c9b8
|
@ -533,7 +533,7 @@ function setArticleRead( id, read )
|
||||||
Internal functions
|
Internal functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var DBVERSION = "0.2"
|
var DBVERSION = "0.3"
|
||||||
var _db = null;
|
var _db = null;
|
||||||
|
|
||||||
function getDatabase()
|
function getDatabase()
|
||||||
|
@ -552,6 +552,9 @@ function checkDatabaseStatus( db )
|
||||||
if ( db.version === "" ) {
|
if ( db.version === "" ) {
|
||||||
createLatestDatabase( db );
|
createLatestDatabase( db );
|
||||||
}
|
}
|
||||||
|
else if ( db.version === "0.2" ) {
|
||||||
|
_updateSchema_v3( db );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function createLatestDatabase( db )
|
function createLatestDatabase( db )
|
||||||
|
@ -575,7 +578,7 @@ function createLatestDatabase( db )
|
||||||
|
|
||||||
tx.executeSql(
|
tx.executeSql(
|
||||||
"CREATE TABLE IF NOT EXISTS articles (" +
|
"CREATE TABLE IF NOT EXISTS articles (" +
|
||||||
"id INTEGER PRIMARY KEY, " +
|
"id INTEGER, " +
|
||||||
"server INTEGER REFERENCES servers(id), " +
|
"server INTEGER REFERENCES servers(id), " +
|
||||||
"created TEXT, " +
|
"created TEXT, " +
|
||||||
"updated TEXT, " +
|
"updated TEXT, " +
|
||||||
|
@ -588,7 +591,8 @@ function createLatestDatabase( db )
|
||||||
"starred INTEGER DEFAULT 0, " +
|
"starred INTEGER DEFAULT 0, " +
|
||||||
"title TEXT, " +
|
"title TEXT, " +
|
||||||
"previewPicture BLOB, " +
|
"previewPicture BLOB, " +
|
||||||
"content TEXT" +
|
"content TEXT, " +
|
||||||
|
"PRIMARY KEY(id, server)" +
|
||||||
")"
|
")"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -612,3 +616,38 @@ function resetDatabase()
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _updateSchema_v3( db )
|
||||||
|
{
|
||||||
|
db.transaction(
|
||||||
|
function( tx ) {
|
||||||
|
tx.executeSql(
|
||||||
|
"CREATE TABLE IF NOT EXISTS articles_next (" +
|
||||||
|
"id INTEGER, " +
|
||||||
|
"server INTEGER REFERENCES servers(id), " +
|
||||||
|
"created TEXT, " +
|
||||||
|
"updated TEXT, " +
|
||||||
|
"mimetype TEXT, " +
|
||||||
|
"language TEXT, " +
|
||||||
|
"readingTime INTEGER DEFAULT 0, " +
|
||||||
|
"url TEXT, " +
|
||||||
|
"domain TEXT, " +
|
||||||
|
"archived INTEGER DEFAULT 0, " +
|
||||||
|
"starred INTEGER DEFAULT 0, " +
|
||||||
|
"title TEXT, " +
|
||||||
|
"previewPicture BLOB, " +
|
||||||
|
"content TEXT, " +
|
||||||
|
"PRIMARY KEY(id, server)" +
|
||||||
|
")"
|
||||||
|
);
|
||||||
|
tx.executeSql( "INSERT INTO articles_next SELECT * FROM articles" );
|
||||||
|
tx.executeSql( "DROP TABLE articles" );
|
||||||
|
tx.executeSql( "ALTER TABLE articles_next RENAME TO articles" );
|
||||||
|
},
|
||||||
|
function() {
|
||||||
|
},
|
||||||
|
function() {
|
||||||
|
db.changeVersion( version, "0.3" );
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue