2012-10-17 71 views
1

有人知道如何使用create_view函數使用alembic升級函數創建視圖嗎? 例如,我們有:如何使用Alembic工具創建'視圖遷移'腳本

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

現在,我們要定義蒸餾器升級功能腳本以創建「MyView的」。如何實現這一點?

謝謝。

+1

如果alembic不提供創建/刪除視圖的功能,您可以隨時使用'''op.execute''',它將直接執行提供的SQL。 –

+0

謝謝。這非常有幫助。我會嘗試。 – user1342336

回答

1

我知道,問題太老了,可能當時並不存在。然而,對於現在所有關於這個問題的人來說:目前存在cookbook中描述的可能性。

它給你喜歡op.create_viewop.drop_viewop.replace_view(myview, replaces="3f2ab897a.myview")額外的操作利用了類似的觀點對象和存儲過程的創建,刪除和替換。存儲過程也是如此,也可以擴展到例如存儲過程。用戶定義的功能。

視圖的定義方式如下:

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

當然,這一切也可以用簡單的語句op.execute來完成,但是在這種情況下,蒸餾器取DROP VIEWCREATE VIEWALTER VIEW命令的照顧。

相關問題