問題タブ [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.
python - Elixirがデフォルト値でテーブルを作成しない
この場合、MySQLを使用していますが、SQLiteに対してもチェックしたところ、同じ結果が得られました。を尊重しますが、完全にnullable
無視します。default
エラーメッセージは表示されず、テーブルは正常に作成されます。戻ってデフォルトを追加することもできますが、これは深刻な問題であり、可能であれば避けたいと思います。
他のフィールドタイプで試しましたが、それでも喜びはありません。
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? . 理想的ではありませんが、機能します。
python - SQLAlchemy/Elixirで個別の列値を選択する
SQLAlchemyとElixirを使用して作成している小さなスクリプトでは、特定の列のすべての個別の値を取得する必要があります。通常のSQLでは、次のような単純な問題になります。
そのクエリを「手動で」実行できることはわかっていますが、可能であれば、SQLAlchemyの宣言型構文(および/またはElixir)に固執したいと思います。私はそれが可能であるに違いないと確信しています。SQLAlchemyのドキュメントでこの種のことをほのめかしているのを見たこともありますが、私はそのドキュメントを何時間も(そしてElixirのドキュメントも)探し続けてきました。それがどのように行われるかを実際に理解しているようです。だから私は何が欠けていますか?
python - Elixir create_all() がデータベースとテーブルを作成しない
Elixir 0.7.1 、Sqlalchemy 0.6beta1 、MySQLdb 1.2.2 を使用しています。私のモデルファイル「model.py」は次のようになります。
実行後: python model.py 、テーブルは作成されず、エラーはスローされません。以下は、SQL サーバーに発行される echo コマンドのリストです。
解決策を探しましたが、見つかりませんでした。
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 コードは次のとおりです。
どんな助けでも大歓迎です。
python - Elixir または SQLAlchemy で、エンティティの各フィールドにコメントを保存する方法はありますか?
私たちのプロジェクトは基本的に、いくつかの記録システムへの Web インターフェイスです。多くのテーブルがマップされており、各列の名前は思い通りに命名されておらず、直感的ではありません... ユーザーは、どのデータ フィールドが利用可能か (つまり、データベースからマップされたもの) を知りたがっています。ただし、USER_REF1、USER_REF2 などの列名を付けるだけでは意味がありません。
それで、私のフィールドの宣言にコメントを提供する方法はありますか?
例えば
そうでない場合、何か提案はありますか?
python - Elixir を使用した同じテーブルへの複数の外部キー
私は一般的にORMは初めてです。列を持つテーブル(エンティティと呼びましょう)があります-
- ID
- 表現
- タイプ ( 'long_word'、'short_word' または 'sentence' のいずれか)
多くの場合、最初の 2 つのタイプは ' ' で発生するため、 ' ' フィールドを使用して ' 'を ' ' または ' ' にsentence
マップする別のテーブルを維持したいと考えています。Sentences
long_word
short_word
ID
必要なのは、外部キーとしてInteger fields
' ' を参照する 2 ' ' を持つ別のテーブルだけです。ID
しかし、Elixirでこれを行うにはどうすればよいですか?
編集:最終的にこれになるのではないかと心配していました。汗をかく必要はありません。SQLAlchemy はしっかりしています。長期的には価値があります。しかし、Elixirが機能していればよかったのにと思います。あなたが望むようにすべてを持つことはできません。
どうもありがとう...
python - sqlalchemyとelixirでsqliteデータベーススキーマを更新します
elixir/sqlalchemyを使用してデータを保存するPythonアプリケーションを作成しました。ソフトウェアの2番目のリリースでは、テーブルと列を追加/削除するために、以前のバージョンで作成されたファイルを更新する必要があります。
私の質問は、どうすればこれを達成できるかということです。私はsqlalchemy-migrateを知っていますが、混乱していると言わざるを得ません。既存のデータがどうなるかについては触れられていません。さらに、sqliteはALTER TABLEのサポートを減らしたので、列を削除しようとすると移行はどうなりますか?移行を使用する他のアプローチはありますか?
python - 非永続的な Elixir/SQLAlchemy オブジェクトを作成するには?
データベースでは利用できないレガシーデータがいくつかの外部ファイルであるため、外部ファイルから読み取ったデータを含む SQLAlchemy オブジェクトを作成したいのですが、実行してもデータベースには書き込まれませんsession.flush()
私のコードは次のようになります。
アプリケーションで後で実行されると、SQLAlchemy が作成された Phone オブジェクトをデータベースに書き込もうとすることを除いて、すべて正常に動作session.flush()
します (phone.state がデータ型が許可するよりも長いため、幸いなことに成功しません)。フラッシュ。
SQLAlchemy がそのようなオブジェクトを書き込もうとするのを防ぐ方法はありますか?
アップデート
私は何も見つけられなかったが
Elixir のドキュメント (おそらくリンクを提供できますか?) では、試してみる価値があるように思えました (エンティティ全体ではなく単一のインスタンスが書き込まれるのを防ぐ方法が望ましいでしょう)。
最初は、このステートメントは効果がないように見え、SQLAlchemy/Elixir のバージョンが古すぎるのではないかと疑っていましたが、PurchaseOrderPosition エンティティ (私は変更していません) への接続が
電話オブジェクトが再度書き込まれます。ステートメントを削除すると、すべて問題ないようです。
python - Sqlalchemy+elixir: ManyToMany 関係でクエリを実行する方法は?
Elixir で sqlalchemy を使用していますが、クエリを作成しようとすると問題が発生します。
多対多の関係を持つ Customer と CustomerList の 2 つのエンティティがあります。
私はいくつかの顧客で CustomerList を見つけようとしています:
しかし、エラーが発生します: NameError:
グローバル名「customers」が定義されていません
顧客はエンティティ フィールドとは無関係のようですが、リレーションシップ (または ManyToMany リレーションシップ) を操作するための特別なクエリ フォームがありますか?
ありがとう