問題タブ [sqlalchemy-migrate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
72 参照

python - データベースの移行 sqlaclhemy が attributeError を返す

sqlalchemy ベースのデータベースを使用してフラスコ アプリケーションを構築しました。私は以下の移行スクリプトを使用します: メガ チュートリアルへのリンク しかし、このスクリプトを実行すると、attributeError が発生します。ここにエラーからのスクリーンショットがあります:画像へのリンク

0 投票する
2 に答える
18737 参照

flask - sqlalchemy postgresql enum は db migrate で型を作成しません

Python3 で Flask を使用して Web アプリを開発しています。データベースの移行/アップグレードで postgresql 列挙型に問題があります。

モデルに列「ステータス」を追加しました:

生成された移行python manage.py db migrateは次のとおりです。

そして、私がそうpython manage.py db upgradeすると、エラーが発生します:

移行でタイプ「banner_status」が作成されないのはなぜですか?

私は何を間違っていますか?

0 投票する
2 に答える
2785 参照

python - sqlalchemy エラー: db model.py から列を削除した後、object() はパラメーター エラーを受け取りません

typeerror: object() takes no parametersmysql コマンドで意味をなさない次のエラーが表示されます。エラーは、不要になった models.py からユーザー名列を削除したことが原因です。

ここに画像の説明を入力

以下は、models.py ファイルのユーザー モデル定義です。ユーザー名の列を削除し、モデルから削除すると上記のエラーが発生するようにしたいと考えています。

以下は、db の更新に使用した db_migrate.py ファイルです。これは Miguel のデータベース チュートリアルから入手しました

これは 005_migration.py ファイルです

0 投票する
2 に答える
1883 参照

flask - Alembigigrationで各行に一意の値を設定する方法

モデルに一意の属性を追加しましたuid:MyModel

移行があります:

実行db upgrade時にエラーが発生しました:

op.execute(mymodel.update().values(uid=generate_uid())) で各行に一意の値を設定する方法は?

0 投票する
0 に答える
167 参照

python - ORM で新しい列を追加するときに models.py を更新するにはどうすればよいですか?

私はPythonとORMにかなり慣れていないので、かなり具体的な質問があります。SQL を処理するには、Python ORM でモデルを定義する必要があります。おそらく、models.py.

テーブルにコンテンツを追加するときに新しい列を自動的に作成したい場合、models.py毎回手動で更新しないようにするにはどうすればよいですか?

いくつかのコンテキストを提供するために:私はテーブルを持つデータベースを持っていますPersonsPublicationsおよびArticlesPersonsID を新しいとして取得し、その行にPublicationsPerson が書き込んでいるすべての IDを入力するテーブルを作成したいと思います(関連する を介してArticles)。

この質問ではDamian Brechtがsqlalchemy-migrateを指していますが、モデルの定義を更新し続ける方法がわかりませんmodels.py

0 投票する
1 に答える
443 参照

python - sqlalchemy-migration が db.func.current_timestamp() の間違ったスクリプトを生成する

現在のプロジェクトでは、postgresql9.4+flask+sqlalchemy を使用しています。データベースの移行を行うために、sqlalchemy-migrateを使用することにしました。しかし、このツールがフィールドのデフォルト値を正しく表現しないという問題に遭遇しました。質問を簡単にするために、問題を分離しました。私のプロジェクトは次のようになります。

./app/__init__.py

./config.py

./db_create.py

./db_migrate.py

ここまでは問題ありません。db_create.py と db_migrate.py を実行すると、ベース テーブルと適切な列を含む初期データベースが作成されます。ベースモデルに「modified_at」フィールドを追加すると、問題が発生します。

次に、./db_migrate.py を実行すると、次のようなエラーが発生します。

実際、./db_repository/versions/002_migration.py にアクセスすると、間違ったコードが見つかります。

なぜそれが起こるのか、そして私に何ができるのかを誰かが知っているなら、教えてください. 私が使う

  • フラスコ==0.11.1
  • Flask-SQLAlchemy==2.1
  • psycopg2==2.6.2
  • SQLAlchemy==1.1.2
  • sqlalchemy-migrate==0.10.0