gwift-book/source/part-2-deployment/database.adoc

2.2 KiB
Raw Blame History

Bases de données

On la déjà vu, Django se base sur un pattern type ActiveRecords pour la gestion de la persistance des données et supporte les principaux moteurs de bases de données connus:

  • SQLite (en natif, mais Django 3.0 exige une version du moteur supérieure ou égale à la 3.8)

  • MariaDB (en natif depuis Django 3.0),

  • PostgreSQL au travers de psycopg2 (en natif aussi),

  • Microsoft SQLServer grâce aux drivers […​à compléter]

  • Oracle via cx_Oracle.

Caution
Chaque pilote doit être utilisé précautionneusement ! Chaque version de Django nest pas toujours compatible avec chacune des versions des pilotes, et chaque moteur de base de données nécessite parfois une version spécifique du pilote. Par ce fait, vous serez parfois bloqué sur une version de Django, simplement parce que votre serveur de base de données se trouvera dans une version spécifique (eg. Django 2.3 à cause dun Oracle 12.1).

Ci-dessous, quelques procédures dinstallation pour mettre un serveur à disposition. Les deux plus simples seront MariaDB et PostgreSQL, quon couvrira ci-dessous. Oracle et Microsoft SQLServer se trouveront en annexes.

PostgreSQL

On commence par installer PostgreSQL.

Par exemple, dans le cas de debian, on exécute la commande suivante:

$$$ aptitude install postgresql postgresql-contrib

Ensuite, on crée un utilisateur pour la DB:

$$$ su - postgres
postgres@gwift:~$ createuser --interactive -P
Enter name of role to add: gwift_user
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
postgres@gwift:~$

Finalement, on peut créer la DB:

postgres@gwift:~$ createdb --owner gwift_user gwift
postgres@gwift:~$ exit
logout
$$$
Note
penser à inclure un bidule pour les backups.

MariaDB

Idem, installation, configuration, backup, tout ça. A copier de grimboite, je suis sûr davoir des notes là-dessus.

Microsoft SQL Server

Oracle