sqlの知識が無いのでコピペしながら作成してます。
抜粋ですが、やりたい事はLinebotでフォローするとherokuのpostgresqlにプロフィールの登録です。
terminalでこのファイルのパスまで行き、
$ heroku run python
from main import db
db.create_all()
でテーブルを作成しこちらのファイルを実行しますがテーブルに情報が追加されません。
解決方法の分かる方、ご教授をお願い致します。
python
1import psycopg2 2from flask_sqlalchemy import SQLAlchemy 3from flask import Flask, request, abort 4import os 5 6app = Flask(__name__) 7app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['DATABASE_URL'] 8app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True 9db = SQLAlchemy(app) 10 11class Model(db.Model): 12 __tablename__ = 'user_profile' 13 user_name = db.Column(db.String(35), primary_key=True) 14 user_id = db.Column(db.String(35), primary_key=True) 15 user_location=db.Column(db.String(35), unique=True) 16 17 18 19 def __init__(self,id,name,location="神奈川県"): 20 self.user_name = name 21 self.user_id=id 22 self.user_location=location 23 24 def __repr__(self): 25 return '<Model {}>'.format(self.name) 26 27 28@handler.add(FollowEvent) 29def handle_follow(event): 30 profile = line_bot_api.get_profile(event.source.user_id) 31 user_id = event.source.user_id 32 user_disp_name = profile.display_name 33 p=Model(user_id,user_disp_name) 34 print(p.user_id,p.user_name) 35 #ここまでは実行できてる 36 37 db.session.add(p) 38 db.session.commit() 39 40if __name__ == "__main__": 41 port = int(os.getenv("PORT", 5000)) 42 app.run(host="0.0.0.0", port=port)
回答1件
あなたの回答
tips
プレビュー