-
Notifications
You must be signed in to change notification settings - Fork 0
/
dump_db.py
executable file
·37 lines (30 loc) · 1.38 KB
/
dump_db.py
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
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import sqlalchemy as sa
from sqlalchemy.ext.serializer import loads, dumps
import os
from tedx import model
from tedx.model import meta, user, place, comment, file, tag, scoring, notification, category
engine = sa.create_engine("mysql://tedx:tedx@localhost:3306/tedx?charset=utf8")
model.init_model(engine)
# ... define mappers
# pickle the query
results = meta.Session.query(user.User).all()
results.extend(meta.Session.query(user.Follower).all())
results.extend(meta.Session.query(tag.Tag).all())
results.extend(meta.Session.query(tag.User_tag).all())
results.extend(meta.Session.query(place.Place).all())
results.extend(meta.Session.query(tag.Place_tag).all())
results.extend(meta.Session.query(comment.Comment).all())
results.extend(meta.Session.query(file.File).all())
results.extend(meta.Session.query(notification.Notification).all())
results.extend(meta.Session.query(scoring.Place_scoring).all())
results.extend(meta.Session.query(scoring.Comment_scoring).all())
results.extend(meta.Session.query(tag.Comment_tag).all())
results.extend(meta.Session.query(category.Category).all())
results.extend(meta.Session.query(category.User_category).all())
results.extend(meta.Session.query(category.Place_category).all())
dumped_data = dumps(results)
dumped_file = open(os.path.join(os.getcwd(), "dumps"), 'w')
dumped_file.write(dumped_data)
dumped_file.close()