9 |
9 |
|
10 |
10 |
from optparse import OptionParser
|
11 |
11 |
|
|
12 |
from mandaye import config
|
|
13 |
from mandaye.backends.default import Association
|
12 |
14 |
from mandaye.log import logger
|
13 |
15 |
|
14 |
16 |
def get_cmd_options():
|
15 |
|
usage = "usage: %prog --createdb|--upgradedb"
|
|
17 |
usage = "usage: %prog --createdb|--upgradedb|--sql2ldap=SQL_SCHEMA"
|
16 |
18 |
parser = OptionParser(usage=usage)
|
17 |
19 |
parser.add_option("--createdb",
|
18 |
20 |
dest="createdb",
|
19 |
21 |
default=False,
|
20 |
22 |
action="store_true",
|
21 |
|
help="Create Mandaye database"
|
|
23 |
help="Create SQL Mandaye database"
|
22 |
24 |
)
|
23 |
25 |
parser.add_option("--upgradedb",
|
24 |
26 |
dest="upgradedb",
|
25 |
27 |
default=False,
|
26 |
28 |
action="store_true",
|
27 |
|
help="Upgrade Mandaye database"
|
|
29 |
help="Upgrade SQL Mandaye database"
|
28 |
30 |
)
|
|
31 |
parser.add_option("--sql2ldap",
|
|
32 |
dest="sql_schema",
|
|
33 |
default="",
|
|
34 |
type="string",
|
|
35 |
help="SQL_SCHEMA: sqlalchemy schema (ex postgresql://mandaye@/mandayeold)")
|
29 |
36 |
(options, args) = parser.parse_args()
|
30 |
37 |
return options
|
31 |
38 |
|
... | ... | |
40 |
47 |
alembic_cfg.set_main_option("script_location", global_config.alembic_script_path)
|
41 |
48 |
command.upgrade(alembic_cfg, "head")
|
42 |
49 |
logger.info("Database upgraded")
|
|
50 |
if options.sql_schema:
|
|
51 |
logger.info("Migrate from %r to %r", options.sql_schema, config.ldap_url)
|
|
52 |
from sqlalchemy import create_engine
|
|
53 |
from sqlalchemy.orm import sessionmaker, scoped_session
|
|
54 |
from mandaye.models import SPUser
|
|
55 |
sql_session = scoped_session(sessionmaker(
|
|
56 |
bind=create_engine(options.sql_schema)))
|
|
57 |
for sp_user in sql_session.query(SPUser).all():
|
|
58 |
Association.update_or_create(sp_user.service_provider.name,
|
|
59 |
sp_user.login, sp_user.post_values,
|
|
60 |
sp_user.idp_user.unique_id, sp_user.idp_user.idp_id)
|
43 |
61 |
|
44 |
62 |
if __name__ == "__main__":
|
45 |
63 |
main()
|
46 |
|
-
|