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