sql/update_db_0_13_to_0_16.2.py
author ymh <ymh.work@gmail.com>
Wed, 20 Oct 2010 11:20:22 +0200
changeset 101 341907d9c6d4
parent 65 c838c80d5ba7
permissions -rw-r--r--
create version 00.23
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
63
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
#! /usr/bin/env python
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
import sys, os, os.path, time, tempfile, uuid
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
sys.path.append(os.path.dirname(os.path.abspath(__file__))+"/../web/")
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
from django.core.management import setup_environ
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
from franceculture import settings
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
setup_environ(settings)
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
from franceculture.settings import *
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
65
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    14
from ldt.ldt_utils.models import Content, Media
63
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
from django.db import connection, transaction
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
65
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    19
transaction.enter_transaction_management()
63
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
65
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    21
try:
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    22
    cursor = connection.cursor()
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    23
    
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    24
    # Data retrieval operation - no commit required
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    25
    cursor.execute("SELECT id,external_id, videopath, src FROM ldt_utils_content", None)
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    26
    
63
7b721b427b73 new version and some update
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    
65
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    28
    for row in cursor.fetchall():
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    29
        new_media = Media(external_id = row[1], videopath=row[2], src=row[3])
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    30
        new_media.save()
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    31
        
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    32
        content = Content.objects.get(id=row[0])
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    33
        content.media_obj = new_media
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    34
        
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    35
        content.save()
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    36
except Exception as inst:
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    37
    transaction.rollback()
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    38
else:
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    39
    transaction.commit()
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    40
finally:
c838c80d5ba7 correct migration script
ymh <ymh.work@gmail.com>
parents: 63
diff changeset
    41
    transaction.leave_transaction_management()