2017-04-06 6 views
0

私たちは仕事中に新しい製品を開発しており、軽量データベースを使用する必要があります。しかし、私の同僚と私は、データベース作成の慣行について議論しました。彼らは、データベースの概要をすばやく作成し、テーブルや物を無作為に追加したり削除したりして、私たちが望むようになるまで考えなければなりませんでした。私は、これに似た形式のスクリプトを作成するのが適切な方法であると教えてくれました。データベース作成のための規約

データベースを削除してください。

テーブルを作成します。

初期データを挿入します。

私はこれがランダムに変化するテーブルよりも優れていると言いました。スクリプトの変更のみを行い、データベースの設計を更新するたびにスクリプトを再実行する必要があります。彼らはそれが無意味であり、彼らの方法がより速いことを言った(それはデータベースが少し小さいので少しの重みを保持するが、それでもやっていることは悪い方法だと感じている)。私がデータベースを落としていたことが大きな懸念でした。彼らがテスト目的でそこに入れたランダムなデータを削除しようとしていたのはうんざりしていました。それでは、最初のデータとして機能するスクリプトの一部として挿入を含めることを明確にしました。彼らはまだ納得していませんでした。彼らは、そのような事を聞いたことのないデータベースを使って、いつも教えてくれました。真実は、私たちは皆、データベースでより多くの経験が必要ですが、私はこれがスクリプトを開発してデータベースを作成する適切な方法であると確信しています。誰もが私をバックアップすることができますこのメソッドを明確に説明するオンラインリソースがありますか?私がこれについて間違っているなら、私を訂正するために自由に落ちてください。

答えて

1

あなたのプロジェクトの詳細はわかりませんが、私はあなたがこの1つに合っていると推測するのはかなり安全だと思います。

  1. データベースがどのように構造化されているかを指示するスクリプトがない場合、そのインスタンスを新しく作成する方法はありますか?プロダクションにデプロイしたときや、誤って削除されたり、サーバがクラッシュしたりするとどうなりますか?スクリプトがあれば、それがどのように設定されたのかの細かいことをすべて覚えておく必要はありません(小さなデータベースではほとんどありません)。

  2. これは時間がかかります。私はあなたは知らないが、私のプロジェクトでは、単体テスト、新しいブランチ、デプロイメントなどのために常に新しいデータベースをオンラインにしています。永遠になるたびに手作業でデータベースを再作成しなければならない場合は、はい、少しデータベーススクリプトを維持する余分な時間がかかりますが、ほとんどの場合、プロジェクトの生活の中で時間を節約します。

  3. これは難しくありません。どのデータベースを使用しているのかわかりませんが、その多くはスキーマをDDLスクリプトとしてエクスポートすることをサポートしています。あなたはそれから始まり、それらからそれを修正することができます。それをすべて入力する必要はありません。あなたのデータベースがそれをしないなら、あなたのデータベースで動作するサードパーティのツールがあなたのためにそれをするかどうかを調べる価値があります。

スクリプトがソース管理システムに表示されていることを確認してください。これは、ソースコードの他の部分と同様に重要です。

あなたが言ったようなデータシーディングスクリプトを持つことは良い考えだと思います。ただし、データベース作成スクリプトとは別のスクリプトとして保管してください。このようにして、開発者シードスクリプト、単体テストシードスクリプト、生産シードスクリプトなどを作成することができます。

+0

ありがとうございます。私たちは、H2と呼ばれるJavaライブラリを使用しています。これは、私たちが制限しているものです。私たちはインターネットにアクセスできないクローズドネットワークに取り組んでおり、何もダウンロードできません。新しいソフトウェアはすべて承認と署名が必要です(数か月かかる可能性があります)。だから私たちは基本的に私たちが持っているものにこだわりました。だから私たちはすべてを打ち込むことに限られています。私たちが持っているものは、私たちが自分で作るもの以外のツールはありません。私はGoogleでデータベースの作成規則を検索しましたが、ほとんどのサイトやビデオには自動的に行うツールがあります。再びありがとう。 – JMC0352

+0

面白い環境で作業しています。私はまだそれらを入力する必要がある場合でも、スクリプトに行くことをお勧めします。シンタックスを取得したら、それほど悪くないはずです。 – d512

関連する問題