postgresql にデータベースがあり、それを Web サーバーに接続する必要があります。Python プログラミングには精通していますが、Web プログラミングには精通していません。Python 内からクエリを作成するための DAL (Database Abstraction Layer) に関する情報があります。クエリを関数に一般化する必要があります。DAL を使用してそれを行い、その後 web2py テクノロジーを使用して Web サーバーに接続することは良い考えですか?
2 に答える
データベースにとらわれないことが必要な場合、web2py DAL は優れた選択肢です。これは、DAL がデータベース バックエンドに指定されたダイアレクトを使用してリアルタイムで動的に SQL を生成することを意味します。そのため、SQL コードを記述したり、さまざまな SQL ダイアレクトを学習したりする必要はありません。したがって、アプリケーションはさまざまな種類のデータベース間で移植可能です。SQL は DAL によって動的に生成されるため、挿入されたすべてのデータが適切にエスケープされることが保証され、インジェクションの欠陥が防止され、SQL インジェクションが不可能になります。
さらに、既存のデータベースからモデルを自動的に生成する方法について、web2py の本で何も言及されていませんでしたが、作成された github で利用可能なスクリプトを使用して、既存の PostgreSQL データベースからデータベース モデルをすばやく簡単に作成する方法があります。 Mariano Reingart は、Alexandre Andrade によって作成された「データベースからスキーマを生成する」スクリプト (mysql) に基づいています。このスクリプトは、PostgreSQL データベースから web2py db モデルを作成するために使用されます。
私は MSSQL データベースを使用していたので、同様のスクリプトが必要でしたが、何も見つかりませんでした。そのため、特に SQL とデータ型に関してスクリプトを少し編集して、MSSQL とより一致するようにし、それが機能するようにしました。魔法のように。約 150 個のテーブルのデータベース モデルが数秒で作成され、多くの時間を節約できました。
https://github.com/phektus/cvstash/blob/master/scripts/extract_pgsql_models.py
これが同じものを探している他の人に役立つことを願っています。
web2py DAL は Postgres をサポートしており、web2py 内で使用することも、dal.py のみを使用してお気に入りのプロジェクト/フレームワークで使用することもできます。
既存のデータベースについては、 http://web2py.com/bookの第 6 章を読むことをお勧めします。
Postgres で複数のアプリを実行していますが、非常にうまく機能します。