5

create_view 関数を使用して、alembic アップグレード関数を使用してビューを作成する方法を知っている人はいますか? たとえば、次のようなものがあります。

CREATE VIEW myview AS
SELECT column_name(s)
FROM table_name
 WHERE condition

ここで、alembic アップグレード関数スクリプトでビューを定義して「myview」を作成します。それをどうやって悟る?

ありがとう。

4

1 に答える 1

9

私が知っている、質問は古すぎるし、おそらくその可能性は当時存在しませんでした. ただし、今この質問に来ているすべての人にとって、クックブックに記載されている可能性が存在します。

op.create_viewop.drop_viewまたは などの追加操作を提供することで、ビューやストアド プロシージャなどのオブジェクトの作成、削除、置換を活用しますop.replace_view(myview, replaces="3f2ab897a.myview")。同じことがストアド プロシージャにも当てはまり、ユーザー定義関数などに拡張することもできます。

ビューは次のように定義されます。

myview = ReplaceableObject('myview',
    """
    SELECT * FROM mytable
    """
)

もちろん、これはすべて単純なop.executeステートメントでも実行できますが、この場合、alembic がDROP VIEW,CREATE VIEWおよびALTER VIEWコマンドを処理します。

于 2016-11-18T14:37:39.077 に答える