text: #!/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)),
          migrator.drop_column('report', 'is_open'),
      )
      query = Report.select()
      for report in query:
          report.first_report_datetime = report.datetime
          report.save()
  
  
  if __name__ == '__main__':
      db.connect()
      run_migration()
  