commit | author | age
|
5edd54
|
1 |
import os |
CM |
2 |
import sys |
|
3 |
import transaction |
|
4 |
|
|
5 |
from pyramid.paster import ( |
|
6 |
get_appsettings, |
|
7 |
setup_logging, |
|
8 |
) |
|
9 |
|
969570
|
10 |
from pyramid.scripts.common import parse_vars |
GD |
11 |
|
9b8398
|
12 |
from ..models.meta import Base |
67f733
|
13 |
from ..models import ( |
414b67
|
14 |
get_engine, |
f4e1ca
|
15 |
get_session_factory, |
a6d08e
|
16 |
get_tm_session, |
5edd54
|
17 |
) |
13846e
|
18 |
from ..models import MyModel |
5edd54
|
19 |
|
877eeb
|
20 |
|
5edd54
|
21 |
def usage(argv): |
CM |
22 |
cmd = os.path.basename(argv[0]) |
969570
|
23 |
print('usage: %s <config_uri> [var=value]\n' |
877eeb
|
24 |
'(example: "%s development.ini")' % (cmd, cmd)) |
5edd54
|
25 |
sys.exit(1) |
CM |
26 |
|
877eeb
|
27 |
|
5edd54
|
28 |
def main(argv=sys.argv): |
969570
|
29 |
if len(argv) < 2: |
5edd54
|
30 |
usage(argv) |
CM |
31 |
config_uri = argv[1] |
969570
|
32 |
options = parse_vars(argv[2:]) |
5edd54
|
33 |
setup_logging(config_uri) |
969570
|
34 |
settings = get_appsettings(config_uri, options=options) |
414b67
|
35 |
|
MM |
36 |
engine = get_engine(settings) |
5edd54
|
37 |
Base.metadata.create_all(engine) |
414b67
|
38 |
|
f4e1ca
|
39 |
session_factory = get_session_factory(engine) |
13846e
|
40 |
|
5edd54
|
41 |
with transaction.manager: |
f4e1ca
|
42 |
dbsession = get_tm_session(session_factory, transaction.manager) |
a6d08e
|
43 |
|
5edd54
|
44 |
model = MyModel(name='one', value=1) |
414b67
|
45 |
dbsession.add(model) |