Flaskを学習中のものになります。
下記のようにモデルを定義し、テーブルを作成した後、
Pyhon
1# define Models 2class SexType(enum.Enum): 3 men = 'men' 4 women = 'women' 5 other = 'other' 6 7class User(db.Model): 8 __tablename__ = 'users' 9 id = db.Column(db.Integer, primary_key = True) 10 username = db.Column(db.String(64), unique = False) 11 age = db.Column(db.Integer) 12 sex = db.Column(db.Enum(SexType))
Shell
1from app import db 2db.create_all()
enumで取りうる値をmen→man、women→womanへと変更したいと思い、
Pyhon
1# define Models 2class SexType(enum.Enum): 3 man = 'man' 4 woman = 'woman' 5 other = 'other' 6 7class User(db.Model): 8 __tablename__ = 'users' 9 id = db.Column(db.Integer, primary_key = True) 10 username = db.Column(db.String(64), unique = False) 11 age = db.Column(db.Integer) 12 sex = db.Column(db.Enum(SexType))
として、テーブルを削除した上でpsqlコマンドでコンソールからPostgreSQL環境へログインし、
作成したテーブルを削除した後、
flask shellよりdb.create_all()をして、再度テーブルを作成しましたが、enumで取りうる値が変わりません。
ただclass SexTypeをclass SexType2など名称を変更すれば無事変更ができます。
どこかにキャッシュでも残り、うまく上書きできていないのでしょうか?
お力お貸しいただけますと幸いです。
あなたの回答
tips
プレビュー