0
votes

Ajoutez une nouvelle colonne à la table existante - Flacon Sqlalchemy

J'essaie d'ajouter une nouvelle colonne à la table existez avec des données. Le problème est que je ne sais pas comment le faire et je ne veux pas supprimer toute la table parce que j'ai déjà des données.

Que dois-je faire? Comment puis-je ajouter une autre colonne sans effet pour ma mal ma table existez

** Ceci est ma table ** xxx

maintenant je veux ajouter une nouvelle colonne qui est vidéo_id = db.column (db.string (250)) . L'erreur que je reçois lorsque j'essaie de l'ajouter est [SQL: Alter Table Films Ajouter une colonne Video_id Varchar (250) Non NULL] Non NULL]

Que dois-je faire? Que dois-je faire? >


0 commentaires

3 Réponses :


1
votes

Il existe une bibliothèque pouvant aider à gérer les migrations de bases de données. https://flask-migrate.readthedocs.io/en/Latest/ << / p>

Mais aussi, si vous souhaitez éviter une dépendance supplémentaire et que vous n'avez pas peur de casser quelque chose, vous pouvez exécuter la commande SQL brute que le référencement des erreurs.

Alter Table Films Ajouter une colonne VIDEO_ID VARCHAR (250) NON NULL


2 commentaires

J'utilise en fait que le ballon migrer. toute ma base de questions sur ce


J'ai compris. En supposant que vous ayez une migration de fiole câblée dans l'exemple de la documentation, tout ce qui est requis doit être d'exécuter ce qui suit dans votre ligne de commande ou votre terminal après la mise à jour de vos modèles. Flacon DB Migrate -M "Ajout de la colonne VIDEO_ID" ALORS Mise à niveau de Ballon DB



2
votes

Si vous insérez une colonne dans une table non vide, video_id doit être nullable = true . Si ce n'est pas acceptable, vous devez remplir des données vidéo_id par certaines données. Par exemple: xxx


0 commentaires

0
votes

Finalement ce que j'ai fait, c'est que je suis allé à Pgadmin et ajouté une nouvelle colonne à la table, ce qui n'est pas la façon la plus correcte de le faire, mais cela a fonctionné.


0 commentaires