質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

499閲覧

FlaskをHeroku上にデプロイした後にFlask-migrateを使ってカラム追加を反映させる方法を教えてください。

dai0123

総合スコア12

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/06/30 04:01

##バージョン

Flask==1.0.2 Flask-Bcrypt==0.7.1 Flask-Migrate==2.1.1

##つまづいている点
現在、Python,Flaskを使ったwebアプリを開発しており、Herokuにデプロイすることができたのですが、DBのカラム追加や削除をFlask-migrationを用いてどのようにしてHeroku上のDBに反映させれば良いのか可能であればご教示いただきたいと考えております。

##試したこと
まずはローカル環境で新しいマイグレーションファイルを作る。

$flask db revision -m "Add new column" Generating /Users/blog/migrations/versions/2572ee835554_add_new_column.py ... done

今回、userテーブルにtestカラムを追加する。

"""Add new column Revision ID: 2572ee835554 Revises: 49042ad93512 Create Date: 2019-06-30 08:46:08.225023 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '2572ee835554' down_revision = '49042ad93512' branch_labels = None depends_on = None def upgrade(): op.add_column('users', sa.Column('test', sa.String(length=140),nullable=True)) def downgrade(): op.drop_column('users', 'test')

flask db upgradeを実行する。

(mynewflaskenv)noMacBook-puro:blog $ flask db upgrade INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade cf042b55174e -> 49042ad93512, change to text INFO [alembic.runtime.migration] Running upgrade 49042ad93512 -> 2572ee835554, Add new column

herokuにデプロイした後、

heroku run flask db upgrade --app appname

を実行すると下記のエラーが表示され、heroku上でdbのマイグレーションを実行できず、カラム追加が反映されない。

cursor.execute(statement, parameters) 2019-06-30T00:05:43.392654+00:00 app[web.1]: sqlalchemy.exc.ProgrammingError: (psycopg2.errors.DuplicateTable) relation "users" already exists 2019-06-30T00:05:43.392669+00:00 app[web.1]: [SQL: '\nCREATE TABLE users (\n\tid SERIAL NOT NULL, \n\tprofile_image VARCHAR(128) NOT NULL
cursor.execute(statement, parameters) 2019-06-30T00:05:46.004413+00:00 app[web.1]: sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedColumn) column users.test does not exist 2019-06-30T00:05:46.004415+00:00 app[web.1]: LINE 1: ...users.info AS users_info, users.url AS users_url, users.test...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問