parent
4000b7bc23
commit
02a0bb8338
|
@ -9,23 +9,30 @@ os.environ['MANDAYE_CONFIG_MODULE'] = 'mandaye_vincennes.config'
|
|||
|
||||
from optparse import OptionParser
|
||||
|
||||
from mandaye import config
|
||||
from mandaye.backends.default import Association
|
||||
from mandaye.log import logger
|
||||
|
||||
def get_cmd_options():
|
||||
usage = "usage: %prog --createdb|--upgradedb"
|
||||
usage = "usage: %prog --createdb|--upgradedb|--sql2ldap=SQL_SCHEMA"
|
||||
parser = OptionParser(usage=usage)
|
||||
parser.add_option("--createdb",
|
||||
dest="createdb",
|
||||
default=False,
|
||||
action="store_true",
|
||||
help="Create Mandaye database"
|
||||
help="Create SQL Mandaye database"
|
||||
)
|
||||
parser.add_option("--upgradedb",
|
||||
dest="upgradedb",
|
||||
default=False,
|
||||
action="store_true",
|
||||
help="Upgrade Mandaye database"
|
||||
help="Upgrade SQL Mandaye database"
|
||||
)
|
||||
parser.add_option("--sql2ldap",
|
||||
dest="sql_schema",
|
||||
default="",
|
||||
type="string",
|
||||
help="SQL_SCHEMA: sqlalchemy schema (ex postgresql://mandaye@/mandayeold)")
|
||||
(options, args) = parser.parse_args()
|
||||
return options
|
||||
|
||||
|
@ -40,6 +47,19 @@ def main():
|
|||
alembic_cfg.set_main_option("script_location", global_config.alembic_script_path)
|
||||
command.upgrade(alembic_cfg, "head")
|
||||
logger.info("Database upgraded")
|
||||
if options.sql_schema:
|
||||
logger.info("Migrate from %r to %r", options.sql_schema, config.ldap_url)
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker, scoped_session
|
||||
from mandaye.models import SPUser
|
||||
sql_session = scoped_session(sessionmaker(
|
||||
bind=create_engine(options.sql_schema)))
|
||||
for sp_user in sql_session.query(SPUser).all():
|
||||
Association.update_or_create(sp_user.service_provider.name,
|
||||
sp_user.login, sp_user.post_values,
|
||||
sp_user.idp_user.unique_id, sp_user.idp_user.idp_id,
|
||||
creation_date=sp_user.creation_date,
|
||||
last_connection_date=sp_user.last_connection)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
Reference in New Issue