42 lines
1002 B
Python
42 lines
1002 B
Python
|
#!/usr/bin/env python
|
||
|
"""
|
||
|
Database migration from < 0.3 to 0.3 version.
|
||
|
"""
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
import peewee
|
||
|
|
||
|
SCRIPT_DIRECTORY = os.path.dirname(os.path.realpath(__file__))
|
||
|
sys.path.append(os.path.abspath(os.path.join(SCRIPT_DIRECTORY, '..', '..')))
|
||
|
|
||
|
from playhouse.migrate import *
|
||
|
|
||
|
from server.models import db, Report
|
||
|
from server.tools import UTC_now
|
||
|
|
||
|
|
||
|
def run_migration():
|
||
|
if type(db) == peewee.SqliteDatabase:
|
||
|
migrator = SqliteMigrator(db)
|
||
|
elif type(db) == peewee.MySQLDatabase:
|
||
|
migrator = MySQLMigrator(db)
|
||
|
elif type(db) == peewee.PostgresqlDatabase:
|
||
|
migrator = PostgresqlMigrator(db)
|
||
|
else:
|
||
|
return
|
||
|
|
||
|
migrate(
|
||
|
migrator.add_column('report', 'first_report_datetime',
|
||
|
peewee.DateTimeField(default=UTC_now)),
|
||
|
)
|
||
|
query = Report.select()
|
||
|
for report in query:
|
||
|
report.first_report_datetime = report.datetime
|
||
|
report.save()
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
db.connect()
|
||
|
run_migration()
|