1

これに対する統合ソリューションはありますか?

mysql というフォルダを作成し、大きな変更を行うたびにそこに sql をダンプするとうまくいきますか?

Subversion は完璧ですが、db 部分はどのように処理しますか? 誰かがワークフローを説明してください。

ありがとう!

4

3 に答える 3

2

単純なバッチファイルを使用して、DBとの間で変更をエクスポート/インポートしています。次のファイルで追加のフォルダ_dbを作成しました。

import.bat:

if exist c:\mysql\bin\mysql.exe goto work1

exit

:work1
C:\mysql\bin\mysql.exe -u root --default-character-set=utf8<C:\project\_db\dbName_dc.sql
C:\mysql\bin\mysql.exe -u root -D dbName --default-character-set=utf8<C:\project\_db\dbName.sql
pause
exit

export.bat

if exist c:\mysql\bin\mysql.exe goto work1

exit

:work1
C:\mysql\bin\mysqldump.exe -u root --default-character-set=utf8 dbName>C:\project\_db\dbName.sql
C:\mysql\bin\mysqldump.exe -u root -d --default-character-set=utf8 dbName>C:\project\_db\dbName_struct.sql
pause
exit

dbName_dc.sql

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
DROP DATABASE IF EXISTS `dbName`;
CREATE DATABASE `dbName`;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

UNIXライクなシステム用に同様のファイルを作成することは問題ではありません。

于 2012-05-08T16:41:19.080 に答える
1

Ruby on Railsは、移行と呼ばれる手法を使用して、データベーススキーマの変更を追跡します。名前の付いたファイルが自動的に作成されますdevelopment_structure.sql(存在しない場合は、たとえばrake db:structure:dumpを呼び出すことで作成できます)。大きな変更を加えるたびにこのファイルをSVNで送信またはチェックインする場合は、データベースの変更をSVNに保存していることになります。これには、次のようなCREATETABLEコマンドが含まれています。

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(255) NOT NULL,
  `email` varchar(255) DEFAULT NULL,
  ..
)
于 2012-05-08T15:57:23.177 に答える
1

Scott Ambler と ThoughtWorks がアジャイル データベースについて行ったことについて読んで、あなたの考えを確認してください。

http://www.amazon.com/s/ref=nb_sb_ss_i_0_14?url=search-alias%3Dstripbooks&field-keywords=agile+database+techniques&sprefix=agile+database%2Cstripbooks%2C131

于 2012-05-08T15:48:19.110 に答える