2016-09-09 2 views

Répondre

1

Voici quelques suggestions concernant le passage de SQLite à MySQL. Dans votre development.ini (et/ou production.ini) fichier, changement de SQLite à MySQL:

# sqlalchemy.url = sqlite:///%(here)s/MyProject.sqlite [comment out or remove this line] 
sqlalchemy.url = mysql://MySQLUsername:[email protected]/MySQLdbName 

Bien sûr, vous aurez besoin d'une base de données MySQL (MySQLdbName dans l'exemple ci-dessus) et sans doute les connaissances et les privilèges de modifier ses métadonnées par exemple, pour ajouter des champs appelés user_email et passwordhash au tableau users ou créer une table users si nécessaire. Dans votre fichier setup.py, vous aurez besoin du module mysql-python à importer. Un exemple serait:

requires = [ 
    'bcrypt', 
    'pyramid', 
    'pyramid_jinja2', 
    'pyramid_debugtoolbar', 
    'pyramid_tm', 
    'SQLAlchemy', 
    'transaction', 
    'zope.sqlalchemy', 
    'waitress', 
    'mysql-python', 
    ] 

Après avoir spécifié le nouveau module (s) dans setup.py, assurez-vous d'exécuter les commandes suivantes pour que votre projet reconnaît le nouveau module (s):

cd $VENV/MyPyramidProject 
sudo $VENV/bin/pip install -e . 

par ce point , votre projet Pyramid devrait être connecté à MySQL. Maintenant, il s'agit d'apprendre les détails de Pyramid (et SQLAlchemy si c'est votre ORM sélectionné). La plupart des suggestions dans les didacticiels, en particulier le SQLAlchemy + URL dispatch wiki tutorial dans votre cas, devraient fonctionner comme ils fonctionnent avec SQLite.

3

L'introduction au Quick Tutorial décrit son but et son public cible. L'authentification et le stockage persistant ne sont pas couverts dans la même leçon, mais dans deux leçons différentes. Soit vous pouvez combiner l'apprentissage des étapes précédentes (non recommandé), soit vous pouvez utiliser le SQLAlchemy + URL dispatch wiki tutorial qui couvre une application Web typique avec authentification, autorisation, hachage de mots de passe et stockage persistant dans une base de données SQL. Notez toutefois qu'il utilise SQLite, et non MySQL, comme base de données SQL. Vous devrez donc utiliser celui fourni ou l'échanger pour votre base de données SQL préférée.