forked from crchemist/cit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
init_db.py
55 lines (37 loc) · 1.19 KB
/
init_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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Initialize database.
from cit import create_app
from cit.db import db
from mixer.backend.sqlalchemy import Mixer
from mixer.backend.flask import mixer
from cit.auth.models import User
import sys
import argparse
app = create_app()
with app.app_context():
db.create_all()
# Generate a random user by calling argument "--init-data"
class MyOwnMixer(Mixer):
def populate_target(self, values):
target = self.__scheme(**values)
return target
mixer = MyOwnMixer()
def createParser():
parser = argparse.ArgumentParser()
parser.add_argument('--init-data', action='store_true')
args = parser.parse_args()
return parser
def generate_test_data():
with app.app_context():
user = mixer.blend(User,
fb_first_name=mixer.RANDOM,
fb_last_name=mixer.RANDOM,
fb_id=mixer.RANDOM,
email=mixer.RANDOM)
db.session.add(user)
db.session.commit()
if __name__ == "__main__":
parser = createParser()
namespace = parser.parse_args(sys.argv[1:])
print (namespace)
if namespace.init_data:
generate_test_data()