2016-12-08 17 views
1

私はVisual Studio Enterprise 2015とGithubプラグインを使用しています。ローカルデータベースのGithubチェック

私はVS内で問題ではないデータベースでC#を使用する必要があります。しかし、私はリポジトリにローカルデータベースをチェックしたいので、私は複数のコンピュータ上でプロジェクトに取り組むことができます。

私はこのリポジトリ(それはプライベートです)を使用する唯一の人です。私のものとは別の変化はありません。

私は本当にこれを行うつもりはないと知っていますが、私は本当に簡単にするためにローカルデータベースを使って作業したいと思います。

私はこのトピックについてthis答えを見つけましたが、彼が何を言おうとしているのか分かりません。

+0

質問をするのは混乱します。私はあなたの問題に関連する質問にコメントしたはずですか? – katmanco

+0

私は十分にはっきりしていないことを恐れていました。もう一度試してみましょう。私はアプリケーションをバージョンコントロールするためにgitを使用します。しかし、(デフォルトで)データベースを同期することはできません。私はローカルデータベースをVisual Studioプラグイン経由でgitと同期させる方法を探しています。 – MagicLegend

+0

私は心を開いたような美しい質問をしてくれて本当にありがとう。そして、私はこのブログを見つけました。そして、実際にこの仕事をする方法を説明しています。そして、私はこれが必要になることに気付きました:)。リンクを確認してください[http://ben.kulbertis.org/2011/10/synchronizing-a-mysql-database-with-git-and-git-hooks/] – katmanco

答えて

0

私は通常、リポジトリにデータベースを構築する手順ですが、データベースの復元に必要なコマンドを実行するための.sqlファイルまたはスクリプトです。

sqliteのようなデータベースは、gitリポジトリに簡単に入れることができる1つのファイルにのみ格納されています。

より具体的なアイデアをお探しの場合は、どのデータベースを使用しているかを共有したい場合があります。

+0

ああ、私は使用しているデータベースについては言及していませんでした!うわー:) MySQLデータベースです。 @katmanchoのコメントから回答があると思いますが、まだ試してみる必要があります:) – MagicLegend

1

Visual StudioとSQL Server開発ツールを併用すると、データベーススキーマと初期データをVisual Studioプロジェクトとしてスクリプト化することができます。その後、Visual Studioプロジェクトを使用してデータベースの外観を定義し、プロジェクトを復元するときにプロジェクトを使用してオンデマンドでSQL Server LocalDBまたはSQL Server Expressデータベースを作成することができます。ローカルデータベースとVisual Studioプロジェクト間でスキーマを同期できます。そしてgitとの違いをコミットします。

また、データベーススキーマを定義するためにEntity Frameworkのようなものを使用したり、オブジェクトモデルをデータベーススキーマにマップするためにEntity Frameworkコードの最初の注釈を使用することもできます。 Entity Framework MigrationsおよびEntity Framework Data Initializersと組み合わせると、起動時にデータベースを再構築するようアプリケーションに指示することができます。

WindowsでGitプリコミットフックを使用するのはセットアップが簡単ではなく、Visual Studio 2012-2015はフックを実行しません。これらのフックをコマンドラインで実行する必要がありますワーキング。 Visual Studio 2017はgit.exeコマンドラインツールを使用し、フックを実行できるはずですが、bashシェル(Linuxシェル)の代わりに通常のコマンドシェルを使用している場合、フックのサポートはまだ制限されています。ほとんどのフックは、Windowsで完全にサポートされていないLinuxシェルスクリプトやその他のスクリプト言語として実装されています。

ファイルサイズによっては、データベースファイル自体、つまりバイナリファイルをコミットすることもできます。 gitは一般的にバイナリを気に入らないものの、最新の状態をコミットしてこの方法で別のマシンに転送することはできません。

+0

データベースに慣れていない人として、私の目標を達成する最も簡単な方法は何でしょうか?データベースファイルはそれほど大きくはありませんが、その中にたくさんの小さなデータ(タイミング)を格納したいので、おそらくそれが問題になる可能性があります。このすべてが複雑すぎると、私はMySQLサーバーを使用する方法を見直さなければなりません(私の学校はホストを提供しますが、必要ならば自分でホストすることができます)... – MagicLegend

+0

あなたはVS2017私の個人的なプロジェクトで使い慣れたものを使用して)gitフックを使うことができますが、これについてインターネット上で見つけることはできません。あなたはこれのための情報源を持っていますか? – MagicLegend

+0

Visual Studio 2017はgit.exeを使用してリポジトリと話し合い、LibGit2に依存しなくなりました。これで、git.exeがWindowsで行うことができる一般的な機能をサポートするようになりました。 – jessehouwing

1

私の心を開いたような美しい質問をしてくれて本当にありがとう。そして、私はこのブログを見つけました。そして、実際にこの仕事をする方法を説明しています。そして、私はこれが必要になることに気付きました:)。 synchronizing-a-mysql-database-with-git-and-git-hooksこちらをご覧ください。

+0

私はjessehouwingが提案したようにVS2017を使用しています。私はこれを得るために過去1.5時間を試してきましたが、失敗しています。明らかに私は何をしているのか分かりません。 GithubのWindowsソフトウェアは私にエラー(VSがbtwではない)を与えるのに十分親切ですが、次にどこを見てもわかりません... GitHub.IO.ProcessException:.git/hooks/pre-コミット:行2:mysqldump:コマンドが見つかりません 'また、MySQLユーザーを取得してパスする場所はどこですか? – MagicLegend

関連する問題