問題タブ [python-elixir]

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 に答える
378 参照

python - Elixirがデフォルト値でテーブルを作成しない

この場合、MySQLを使用していますが、SQLiteに対してもチェックしたところ、同じ結果が得られました。を尊重しますが、完全にnullable無視します。defaultエラーメッセージは表示されず、テーブルは正常に作成されます。戻ってデフォルトを追加することもできますが、これは深刻な問題であり、可能であれば避けたいと思います。

他のフィールドタイプで試しましたが、それでも喜びはありません。

0 投票する
5 に答える
3921 参照

python - ElixirでSQLクエリを実行する

Postgres データベースに接続するプロジェクトで Elixir を使用しています。接続しているデータベースで次のクエリを実行したいのですが、Elixir と SQLAlchemy にかなり慣れていないため、実行方法がわかりません。誰でも方法を知っていますか?

VACUUM FULL ANALYZE table

アップデート

エラーは次のとおりです:「UnboundExecutionError: SQL 式またはこのセッションで構成されたバインドが見つかりませんでした」。以前に発行された session.close() と同じ結果です。私は metadata.bind.execute() をやってみましたが、それは単純な選択でうまくいきました。しかし、VACUUM については、「InternalError: (InternalError) VACUUM はトランザクション ブロック内で実行できません」と表示されたため、それをオフにする方法を見つけようとしています。

更新 2

実行するクエリを取得できますが、新しいセッションを作成して前のセッションを閉じても、同じエラーが発生します。

そして私が得る出力は

アップデート 3

回答してくれたすべての人に感謝します。必要なソリューションを見つけることができませんでしたが、ここで説明されているものを使用するつもりだと思いますPostgreSQL - how to run VACUUM from code outside transaction block? . 理想的ではありませんが、機能します。

0 投票する
5 に答える
98436 参照

python - SQLAlchemy/Elixirで個別の列値を選択する

SQLAlchemyとElixirを使用して作成している小さなスクリプトでは、特定の列のすべての個別の値を取得する必要があります。通常のSQLでは、次のような単純な問題になります。

そのクエリを「手動で」実行できることはわかっていますが、可能であれば、SQLAlchemyの宣言型構文(および/またはElixir)に固執したいと思います。私はそれが可能であるに違いないと確信しています。SQLAlchemyのドキュメントでこの種のことをほのめかしているのを見たこともありますが、私はそのドキュメントを何時間も(そしてElixirのドキュメントも)探し続けてきました。それがどのように行われるかを実際に理解しているようです。だから私は何が欠けていますか?

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

python - Elixir create_all() がデータベースとテーブルを作成しない

Elixir 0.7.1 、Sqlalchemy 0.6beta1 、MySQLdb 1.2.2 を使用しています。私のモデルファイル「model.py」は次のようになります。

実行後: python model.py 、テーブルは作成されず、エラーはスローされません。以下は、SQL サーバーに発行される echo コマンドのリストです。

解決策を探しましたが、見つかりませんでした。

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

python - Elixir と Pylons のポリモーフィック継承で自己関係を作成するにはどうすればよいですか?

私はプログラミングが初めてで、Wiki の作成に関する Pylons ドキュメントの例に従っています。Wiki にリンクしたいデータベースは Elixir で作成されたので、Wiki データベースのスキーマを書き直して、そこから続けています。

Wiki には、ページとセクションによって継承されるナビゲーション テーブルの要件があります。セクションには複数のページを含めることができますが、ページにはセクションを 1 つしか含めることができません。さらに、各兄弟ノードは相互にチェーン参照できます。

そう:

  • Nav には「セクション」(OneToMany) と「前」(OneToOne - 前のノードを参照する) があります。
  • ページには「セクション」 (ManyToOne - 1 つのセクションに複数のページ) があり、「前」を継承します。
  • セクションは Nav からすべて継承します

私が書いたコードは次のようになります。

これで受け取ったエラー:

sqlalchemy.exc.OperationalError: (OperationalError) テーブル nav には aftr_id という名前の列がありません u'INSERT INTO nav (name, path, aftr_id, row_type) VALUES (?, ?, ?, ?)'

私も試しました:

これが問題を解決するかもしれないことを期待してNavで、しかしそうではありません.

これらの宣言のチュートリアルの元の SQLAlchemy コードは次のとおりです。

どんな助けでも大歓迎です。

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

python - Elixir または SQLAlchemy で、エンティティの各フィールドにコメントを保存する方法はありますか?

私たちのプロジェクトは基本的に、いくつかの記録システムへの Web インターフェイスです。多くのテーブルがマップされており、各列の名前は思い通りに命名されておらず、直感的ではありません... ユーザーは、どのデータ フィールドが利用可能か (つまり、データベースからマップされたもの) を知りたがっています。ただし、USER_REF1、USER_REF2 などの列名を付けるだけでは意味がありません。

それで、私のフィールドの宣言にコメントを提供する方法はありますか?

例えば

そうでない場合、何か提案はありますか?

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

python - Elixir を使用した同じテーブルへの複数の外部キー

私は一般的にORMは初めてです。列を持つテーブル(エンティティと呼びましょう)があります-

  1. ID
  2. 表現
  3. タイプ ( 'long_word'、'short_word' または 'sentence' のいずれか)

多くの場合、最初の 2 つのタイプは ' ' で発生するため、 ' ' フィールドを使用して ' 'を ' ' または ' ' にsentenceマップする別のテーブルを維持したいと考えています。Sentenceslong_wordshort_wordID

必要なのは、外部キーとしてInteger fields' ' を参照する 2 ' ' を持つ別のテーブルだけです。ID

しかし、Elixirでこれを行うにはどうすればよいですか?

編集:最終的にこれになるのではないかと心配していました。汗をかく必要はありません。SQLAlchemy はしっかりしています。長期的には価値があります。しかし、Elixirが機能していればよかったのにと思います。あなたが望むようにすべてを持つことはできません。

どうもありがとう...

0 投票する
3 に答える
5288 参照

python - sqlalchemyとelixirでsqliteデータベーススキーマを更新します

elixir/sqlalchemyを使用してデータを保存するPythonアプリケーションを作成しました。ソフトウェアの2番目のリリースでは、テーブルと列を追加/削除するために、以前のバージョンで作成されたファイルを更新する必要があります。

私の質問は、どうすればこれを達成できるかということです。私はsqlalchemy-migrateを知っていますが、混乱していると言わざるを得ません。既存のデータがどうなるかについては触れられていません。さらに、sqliteはALTER TABLEのサポートを減らしたので、列を削除しようとすると移行はどうなりますか?移行を使用する他のアプローチはありますか?

0 投票する
3 に答える
1209 参照

python - 非永続的な Elixir/SQLAlchemy オブジェクトを作成するには?

データベースでは利用できないレガシーデータがいくつかの外部ファイルであるため、外部ファイルから読み取ったデータを含む SQLAlchemy オブジェクトを作成したいのですが、実行してもデータベースには書き込まれませんsession.flush()

私のコードは次のようになります。

アプリケーションで後で実行されると、SQLAlchemy が作成された Phone オブジェクトをデータベースに書き込もうとすることを除いて、すべて正常に動作session.flush()します (phone.state がデータ型が許可するよりも長いため、幸いなことに成功しません)。フラッシュ。

SQLAlchemy がそのようなオブジェクトを書き込もうとするのを防ぐ方法はありますか?

アップデート

私は何も見つけられなかったが

Elixir のドキュメント (おそらくリンクを提供できますか?) では、試してみる価値があるように思えました (エンティティ全体ではなく単一のインスタンスが書き込まれるのを防ぐ方法が望ましいでしょう)。

最初は、このステートメントは効果がないように見え、SQLAlchemy/Elixir のバージョンが古すぎるのではないかと疑っていましたが、PurchaseOrderPosition エンティティ (私は変更していません) への接続が

電話オブジェクトが再度書き込まれます。ステートメントを削除すると、すべて問題ないようです。

0 投票する
3 に答える
1911 参照

python - Sqlalchemy+elixir: ManyToMany 関係でクエリを実行する方法は?

Elixir で sqlalchemy を使用していますが、クエリを作成しようとすると問題が発生します。

多対多の関係を持つ Customer と CustomerList の 2 つのエンティティがあります。

私はいくつかの顧客で CustomerList を見つけようとしています:

しかし、エラーが発生します: NameError:

グローバル名「customers」が定義されていません

顧客はエンティティ フィールドとは無関係のようですが、リレーションシップ (または ManyToMany リレーションシップ) を操作するための特別なクエリ フォームがありますか?

ありがとう