database migration script
This commit is contained in:
parent
8ee07ec9ed
commit
0a4533b389
1 changed files with 37 additions and 0 deletions
37
dbmigrate.py
Normal file
37
dbmigrate.py
Normal file
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: UTF-8 -*-
|
||||
|
||||
import sqlite3
|
||||
|
||||
connection = sqlite3.connect("db.sqlite")
|
||||
cursor = connection.cursor()
|
||||
|
||||
# What script performs:
|
||||
# - first, remove site table: crash here if table doesn't exist (compatibility test without effort)
|
||||
# - remove site_id colum from comment table
|
||||
script = """
|
||||
PRAGMA foreign_keys = OFF;
|
||||
BEGIN TRANSACTION;
|
||||
DROP TABLE site;
|
||||
ALTER TABLE comment RENAME TO _comment_old;
|
||||
CREATE TABLE comment (
|
||||
id INTEGER NOT NULL PRIMARY KEY,
|
||||
url VARCHAR(255) NOT NULL,
|
||||
notified DATETIME,
|
||||
created DATETIME NOT NULL,
|
||||
published DATETIME,
|
||||
author_name VARCHAR(255) NOT NULL,
|
||||
author_site VARCHAR(255) NOT NULL,
|
||||
author_gravatar varchar(255),
|
||||
content TEXT NOT NULL
|
||||
);
|
||||
INSERT INTO comment (id, url, notified, created, published, author_name, author_site, author_gravatar, content)
|
||||
SELECT id, url, notified, created, published, author_name, author_site, author_gravatar, content
|
||||
FROM _comment_old;
|
||||
DROP TABLE _comment_old;
|
||||
COMMIT;
|
||||
PRAGMA foreign_keys = ON;
|
||||
"""
|
||||
|
||||
cursor.executescript(script)
|
||||
connection.close()
|
Loading…
Add table
Reference in a new issue