Impossible de mettre en production Python Anywhere
Bonsoir,
ça fait depuis 23h que je suis dessus mais je n'y arrive pas.
Impossible de mettre en prod, apparemment ça vient de la BDD
Voici les message quand je fais mes migrations.


Savez vous ce que je peux faire ?
Le champ details s'attends à avoir max_length selon l'erreur.
j'ai bien définis max_length aux RichTextField() de ckeditor.
Mon repo si ça peut aider ==> https://github.com/gabigab117/remy.git
Actuellement si je vais sur l'app depuis mon url anywhere : (1146, "Table 'RemySevestre$idea4.ideas_idea' doesn't exist"). Donc on voit bien que cette table n'a pas été créée.
Je pense que je serai moins embêté à utiliser PostgreSQL ? C'est vrai que c'est recommandé dans la doc.
Merci d'avance
A priori c'est un bug lié à Mysql.
https://code.djangoproject.com/ticket/2495
Pour un ckeditor field, il faut que le format de colonne dans la database soit LongText.
Essyaes ça mais je ne suis pas sûr que ça fonctionne:
details = RichTextField(unique=True, verbose_name="Détails", db_column='details', db_type='longtext')
Salut Gab !
Je viens de regarder ton code, j'aurais tendance à essayer d'enlever tous les paramètres pour commencer sur ton TextField, donc passer de ça :
details = models.TextField(unique=True, verbose_name="Détails", max_length=10000)
à ça :
details = models.TextField()
Mettre un unique sur un TextField ça ne me semble de base pas la meilleure chose à faire, un TextField ça peut contenir pas mal de choses, je comprends que tu souhaites éviter que deux idées similaires soient envoyées, mais j'imagine qu'il serait vraiment très très peu probable que 2 personnes écrivent exactement le même texte. Et niveau performances pas sûr que ce soit le plus efficace du coup parce que ça fait pas mal de données à comparer. Après il faudrait creuser un peu plus, mais ça m'a fait tiquer sur le principe.
Mais sinon, essaie de déclarer juste le TextField sans paramètres voir si ça règle ton problème de migration.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte