mirror of
https://github.com/NoiTheCat/WorldTime.git
synced 2024-10-16 16:29:57 +00:00
40 lines
991 B
Python
40 lines
991 B
Python
|
#!/usr/bin/env python3
|
||
|
|
||
|
# Utility for carrying over data from an older SQLite
|
||
|
# database into a newer PostgreSQL one.
|
||
|
|
||
|
# Edit this value:
|
||
|
PgConnectionString = ''
|
||
|
|
||
|
import sqlite3
|
||
|
import psycopg2
|
||
|
|
||
|
sldb = sqlite3.connect('users.db')
|
||
|
slcur = sldb.cursor()
|
||
|
pgdb = psycopg2.connect(PgConnectionString)
|
||
|
pgcur = pgdb.cursor()
|
||
|
|
||
|
pgcur.execute("""
|
||
|
CREATE TABLE IF NOT EXISTS userdata (
|
||
|
guild_id BIGINT,
|
||
|
user_id BIGINT,
|
||
|
zone TEXT NOT NULL,
|
||
|
last_active TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||
|
PRIMARY KEY (guild_id, user_id)
|
||
|
)""")
|
||
|
pgdb.commit()
|
||
|
pgcur.execute("TRUNCATE TABLE userdata")
|
||
|
pgdb.commit()
|
||
|
|
||
|
slcur.execute('''
|
||
|
SELECT guild, user, zone, lastactive
|
||
|
FROM users
|
||
|
''')
|
||
|
|
||
|
for row in slcur:
|
||
|
pgcur.execute('''
|
||
|
INSERT INTO userdata (guild_id, user_id, zone, last_active)
|
||
|
VALUES (%s, %s, %s, to_timestamp(%s) at time zone 'utc')
|
||
|
''', (int(row[0]), int(row[1]), row[2], int(row[3])))
|
||
|
pgdb.commit()
|
||
|
print(row)
|