summaryrefslogtreecommitdiff
path: root/migrate.py
blob: 1886287c9c660937e568a60ad2f1f34d955894f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/python
# vim: set fileencoding=utf-8 ts=4 shiftwidth=4 softtabstop=4 expandtab:
# Copyright (c) 2010 kinote@kinote.org

import sys
import datetime


def int_to_datetime(i):
    # FIXME do correctly the conversion of date types
    return datetime.now()

conversion = [
    [('phpbb_users', 'auth_user'), (
        ('user_id', 'id'),
        ('username', 'username'),
        ('user_email', 'email'),
        ('user_password', 'password'),
        ('user_active', 'is_active'),
        ('user_lastvisit', 'last_login', int_to_datetime),
        ('user_regdate', 'date_joined', int_to_datetime),
    )],
    [('phpbb_users', 'usuarios_userprofile'), (
        ('user_id', 'id'),
        ('user_id', 'user_id'),
        ('user_viewemail', 'show_email'),
        ('user_website', 'url'),
        ('user_msnm', 'msn_id'),
    )],
]


def migrate(c):
    print "== %s -> %s" % c[0]
    for fields in c[1]:
        if len(fields) == 3:
            print "   %s -> %s() -> %s" % (fields[0], fields[2].__name__, fields[1])
        else:
            print "   %s -> %s" % (fields[0], fields[1])

def main(argv=None):
    if argv is None:
        argv = sys.argv
    for c in conversion:
        migrate(c)
    return 0
    

if __name__ == '__main__':
    sys.exit(main())