Ejemplo n.º 1
0
def createdb(init=True):
    """creer la base de donnee
    a partir de la liste des tables presentent dans le module
    models
    """
    import model
    from sqlobject import SQLObject, sqlhub
    from model import Users, Groupe, Role

    constraints = []

    for (name, table) in vars(model).iteritems():
        if (inspect.isclass(table)) and (issubclass(
                table, SQLObject)) & (table != SQLObject):
            if context.conf["sgbd"] == "postgresql":
                constraints.extend(
                    table.createTable(applyConstraints=False, ifNotExists=True)
                )  # True pour ne pas creer la table si elle existe deja
            else:
                table.createTable(ifNotExists=True)
            print "Creation de la table `" + name + '` OK'

    # Les contraintes ne sont ajoute qu'a la fin (pour postgresql)
    if context.conf["sgbd"] == "postgresql":
        if constraints:
            for constraint in constraints:
                if constraint:
                    sqlhub.processConnection.query(constraint)
    if not init:
        return

    #ajout d'un groupe par default, role et association (ne rien faire si il existe deja)
    if not list(Groupe.select(Groupe.q.nom == 'visiteur')):  #.
        groupe = Groupe(nom="visiteur")
    if not list(Role.select(Role.q.name == 'visiteur')):  #.
        role = Role(name="visiteur")
        groupe.addRole(role)

    #Ajout d'un groupe admin et d'un admin (ne rien faire si il existe deja)
    if not list(Users.select(Users.q.pseudo == 'admin')):  #.
        user = Users(nom="", prenom="", pseudo="admin", password="******")
        print "\n--> Creation d'un compte `admin` mot de passe : `nimda`"
        groupe = Groupe(nom="admin")
        role = Role(name="admin")
        groupe.addRole(role)
        user.addGroupe(groupe)

    print "Tables crees avec succes\n"
Ejemplo n.º 2
0
def createdb(init=True):
    """creer la base de donnee
    a partir de la liste des tables presentent dans le module
    models
    """
    import model
    from sqlobject import SQLObject, sqlhub
    from model import Users, Groupe, Role 
    
    constraints = []
        
    for (name, table) in vars(model).iteritems():
        if (inspect.isclass(table)) and (issubclass(table, SQLObject)) & (table != SQLObject):
            if context.conf["sgbd"] == "postgresql":
                constraints.extend(table.createTable(applyConstraints=False, ifNotExists=True)) # True pour ne pas creer la table si elle existe deja
            else:
                table.createTable(ifNotExists=True)   
            print "Creation de la table `"+name+'` OK'
    
    
    # Les contraintes ne sont ajoute qu'a la fin (pour postgresql)
    if context.conf["sgbd"] == "postgresql":
        if constraints:
            for constraint in constraints:
                if constraint:
                    sqlhub.processConnection.query(constraint)
    if not init:
        return 
    
    #ajout d'un groupe par default, role et association (ne rien faire si il existe deja)
    if not list(Groupe.select(Groupe.q.nom=='visiteur')):#.
        groupe = Groupe(nom="visiteur")
    if not list(Role.select(Role.q.name=='visiteur')):#.
        role = Role(name="visiteur")
        groupe.addRole(role)
    
    #Ajout d'un groupe admin et d'un admin (ne rien faire si il existe deja)
    if not list(Users.select(Users.q.pseudo=='admin')):#.
        user = Users(nom="", prenom="", pseudo="admin", password="******")
        print "\n--> Creation d'un compte `admin` mot de passe : `nimda`" 
        groupe = Groupe(nom="admin")
        role   = Role(name="admin")
        groupe.addRole(role)
        user.addGroupe(groupe)

    print "Tables crees avec succes\n"