2011-12-07 3 views
0

考え方は、ストアドプロシージャとudfの内容(コード)を毎時(例えば)取得してSVNリポジトリに追加するスクリプトを作成することです。その結果、私たちはSQLバージョン管理システムを持っています。バックアップmsSQLはPythonを介してprocまたはUDFコードを格納します

誰でも、Python(sqlAlchemy、pyodbc、smth)を使ってストアドプロシージャコードをバックアップする方法を知っていますか?

SQL管理オブジェクトを使用する前にC#でこれを行いました。

ありがとうございます!

答えて

1

SMOをPythonから簡単にアクセスする方法はありません(Pythonから.NETにアクセスするための一般的な解決策がないため)。C#でコマンドラインツールを作成し、subprocessモジュールを使用してPythonから呼び出します。おそらく​​で何かできますが、それが実現可能かどうかはわかりません。

しかし、おそらくより重要な質問は、あなたがこれをしたい、またはする必要があるということです。あなたのデータベースの構造は本当に頻繁に変わるのですか?もしそうなら、おそらくあなたはそれを実際に制御できないので、ソース管理がそのシナリオにどのような利益をもたらすでしょうか?最初にデータベースの変更をどのように展開するのですか?通常、ソース管理から生産に移行しますが、DDL(テーブル、インデックスなどを含む)の「マスター」ソースはデータベースではなくSVNです。しかし、あなたが本当に達成すべきものについて多くの情報を与えていないので、おそらくあなたの環境でこれを行う必要がある正当な理由があります。

+0

返信いただきありがとうございます! DBの構造は頻繁に変更されません。 SPおよびUDFソースが変更されます。私はPHPのソースを制御するSVNを持っています。 SQLの場合は、前処理のソースコントロールを持たないほうが簡単です。私にとっては、SPを自動的にバックアップし、変更をレビューしたり、必要に応じてソースを復元する方が簡単です。 – Alex

+0

私が言及したことを忘れたもう1つのオプションはIronPythonです。これはSMOへのアクセスを非常に簡単にします。一方、それはあなたの環境にうまく収まらないように、Pythonの全く異なる実装です。 – Pondlife

関連する問題