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"
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"