• ベストアンサー

rake db:migrateでのエラーについて

WinXP環境で開発環境を構築中です。 MySQL Server 5.1のテーブルを作成するために、 rake db:migrateを実行しましたが、 「Multiple migrations have the name CreateSchedules」のエラーが発生します。 原因がよくわかりません。 どなたか、ご教示ください。

  • kiyoto
  • お礼率79% (163/205)
  • Ruby
  • 回答数1
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • toby_jp
  • ベストアンサー率75% (6/8)
回答No.1

こちらの環境で再現できました。 db/migrateに xxxxxx_create_schedules.rb というファイルが2つありませんでしょうか? バージョン違いの同名のmigrationファイルがあると 「Multiple migrations have the name CreateSchedules」のエラーがでるようです。 例えば、 db/migrate/20090902225921_create_schedules.rb db/migrate/20091002325002_create_schedules.rb というファイルが2つある感じです。 この場合の対処としては、 ・重複して生成してしまったのであれば、片方を削除する(内容を見て全く同じだったり、削除しても差支えがなければです) ・片方のmigrationファイルの名前を変える(中身のクラス名"CreateSchedules"も変えないとダメだと思います) 環境構築中、ということならば多分、前者かよいのではと思います。

kiyoto
質問者

お礼

回答、有難うございました。 ご指摘の通りでした。

関連するQ&A

  • ruby on rails rake migrateについて

    rails初心者です。 今「ライドオンrails」を見て、勉強しているのですが、 34ページのところの $ rake migrate のところでエラーが出てしまいます。エラー内容は下記に示します。 環境:fedora core 5 mysql, ruby, gem, rails:yumコマンドにインストール(最新) この環境で 次のエラーが出てしまいます。 $ rake migrate (in /home/tada/tutorial/recipe) rake aborted! Mysql::Error: Lost connection to MySQL server during query: SET NAMES 'utf8' わかる方がいらっしゃたら教えてください。

  • Instant Railsについて

    Instant Rails + RadRailsでRoRを始めようとしている初心者です。 http://www.itmedia.co.jp/enterprise/0703/articles/12/news018.html ↑を参考にして始めようとしましたが、2ページ目のテーブルを作るところでつまづきました。 migrationファイルは作成出来たのですが、 >rake migrate で The rake task migrate has been deprecated, please use the replacement version db となり、テーブルが作成されせん。 InstantRailsにパッケージされているmysqlのver.を確認したところ Ver 14.12 Distrib 5.0.27, for Win32 (ia32) でした。これを最新にするべきなのか、ほかにすべきことがあるのかご教示下さい。

  • oracle,sql-server,DB2,フリーDB

    oracle 10g sql-server 2005 DB2 フリーDB(mysqlなど) はどれがいいでしょうか? 一応3年ぐらい前までは開発現場にいたので一通り知っています。 すべて経験ありますが管理はしたことはありません。 価格ならフリーが一番でしょう。信頼性で言うとoracle でもコストが高い。 MSとくっつくならsql-serverだと思うのですが。 まだ社内でどの程度の規模になるかも把握し切れていませんが、 やはり無難にoraが一番でしょうか?? 後々に業務システムの開発をします。 javaにするかVB,delphiなどにするかも決まってません。 DB2なら一応資格も持っているんですけどね。 管理、構築の容易さなどそれぞれの特徴も教えてください。

  • 既存DBのテーブル情報をCREATE文として取得するには

    こんにちは。 既存DBのテーブル情報をCREATE文として取得する方法はありますでしょうか? CREATE文として欲しいのは、他のサーバに開発用として同じDBを構築しようと考えているからです。 よろしくお願いします。

  • この場合 JOIN . SELECTはできますか

    JOIN.WHEREで...どなたかご教授下さい。 1)2つ以上のdatabase間でのtableの外部結合は出来ますか? やりたい事)実行環境は文末に記述しますが、1台目マシンのODBC(DSN1)でTABLE(A)とTABLE(B)を結合し、さらに2台目のODBC(DSN2)マシンのTABLE(C)を結合したい。 つまり、TABLE(A)+TABLE(B)+(TABLE(C)の状態にしたいのです。 まだ始めたばかりなので、上手く出来ませんでした。 可能・不可能も含めて、いい方法があったら教えて下さい。 実行環境) webサーバー : Apache 2.0.58 (winXP sp2) dbサーバー1 : DB2 UDB・・・ODBC接続 dbサーバー2 : MySQL・・・[MySQL][ODBC 3.51 Driver] [mysqld-5.0.22-community-nt] PHP : PHP Version 5.1.4

  • PHPからMySQL・異なるDBにコピー

    PHPからMySQL・異なるDBに接続し同じ構造のテーブルのデータをコピーすることは可能ですか? 以下を実行するとクエリが実行されず「コピーできません」が表示されてしまいます。 どのようにすればコピーできるか教えてください。 $connect1 = mysql_connect("localhost", "user1", "pass1") ; mysql_select_db("db1", $connect1); //db1内にtable1 $connect2 = mysql_connect("localhost", "user2", "pass2") ; mysql_select_db("db2", $connect2); //db2.内にtable2 $sql = "INSERT INTO `db1` . `table1` SELECT * FROM `db2` .`table2`;"; $result = mysql_query($sql, $connect1)or die("コピーできません"); //$result内「$connect1」でも「$connect2」結果は同じです。 //table1とtable2の構造は同じです。

    • ベストアンサー
    • PHP
  • Rails 本番サーバーでpassengerエラー

    お世話になっております。 現在進行中のプロジェクトをgit cloneにて共有リポジトリから本番環境のサーバーに移しアプリケーションにアクセスしようとしたところ、Passengerが以下の様なエラーを吐き出してしまい、その解決策が見いだせずにいます。 A source file that the application requires, is missing It is possible that you didn't upload your application files correctly. Please check whether all your application files are uploaded. A required library may not installed. Please install all libraries that this application requires. Error message: no such file to load -- rubygems/path_support 当方環境は以下の様になります。 【共通】 サーバー Apatch DB MySQL ruby1.9.2 【ローカルサーバー(開発環境)】 MacOS X Rails 3.2.2 【共有リポジトリ】 さくらVPS 【本番サーバー(デプロイ先)】 さくらVPS CentOS6 Raisls 3.2.5 初心者故今回この質問をさせていただく上で必要な情報が何かというところも曖昧です。大変恐縮なのですが、何か支離滅裂な個所がありましたらそちらも合わせてご指摘いただければと存じます。 以下実行内容ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 【ローカルにてproductionモードでプロジェクトを実行するために以下を実行】 passengerのインストールと設定 → httpd.confの設定 → gemにてmysql2のインストール → mysqlにてDBの作成とそれに対するユーザー、パスワードを設定 → database.ymlの設定 → rake db:setup RAILS_ENV="production"を実行 補足:ここまでのプロセスでローカル環境にてproductionモードで動作しております。 この状態でgit commit → pushを行い、本番サーバーにてcloneを実行しております。 【サーバーサイドで実行したこと(公開ディレクリは/var/www/html以下はDocumetRootは/var/www/html/public/と設定してあります)】 公開ディレクトリ【html】にて共有リポジトリよりプロジェクトをclone → passengerのインストールと設定 → rake db:setup RAILS_ENV="production"を実行(末尾に--traceを付けcreateとmigrateも実行) ここまででhttp://ドメイン/コントローラー名にてプロジェクトにアクセスできると考えていたのですが、上記の様なエラーが発生し困っております。 繰り返しとなりますが、Rails初心者故上記に記させて頂いたプロセスにて足りなかったり余計であったりする個所もあるかと存じます。読みづらい文章の上大変恐縮ですが、そちら合わせてご指導いただければ幸いです。 宜しくお願い致します。

    • ベストアンサー
    • Ruby
  • WEBとDBを別々で構成する場合について

    はじめて質問させていただきます。 Linux ES4 環境でWEBとDBを個別に立上げています。 DBサーバにはMySQLをインストールし、WEBサーバからDBサーバのMySQLに接続したいのですが、MySQLのどれをインストールすべきかわかりません。 下記が現在悩んでいる点です。 1、WEBサーバにインストールするMySQLはClientなのでしょうか? 2、DBサーバにインストールするMySQLはServerなのでしょうか? 3、WEBサーバとDBサーバの2台間をつなげるためには、MySQL Connect/ODBCをインストール設定するのでしょうか? 御手数ですがどなたか御教授願えませんでしょうか。 宜しく御願いいたします。

    • ベストアンサー
    • MySQL
  • MySQL上にRedmineのテーブルが作成できません

    WindowsXP上でRedmineを構築しようとして、 データベースをMySQLと考えていますが、 テーブルの作成でエラーとなっています。 手順としては、Ruby、Rails、MySQLを導入し、 MySQL上で'redmine'の空データベースを作成しました。 そして、RedmineのRakefileが存在するディレクトリ配下で テーブル作成するため以下のコマンドを実行したところ、 エラーとなりました。 C:\redmine>rake db:migrate RAILS_ENV="production" (in C:/redmine) rake aborted! no such file to load -- test/unit/error C:/ruby/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile' (See full trace by running task with --trace) ファイルがロードできないと言っているようですが、 どこをどのようにしたら解決するのでしょうか? (もしやバージョンの問題?) ------------------------------------------- ■バージョン Redmine:0.8.4 C:\redmine>ruby -v ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-mswin32] C:\redmine>gem list *** LOCAL GEMS *** actionmailer (2.1.2) actionpack (2.1.2) activerecord (2.1.2) activeresource (2.1.2) activesupport (2.1.2) rails (2.1.2) rake (0.8.7) C:\redmine>mysql --version mysql Ver 14.14 Distrib 5.1.35, for Win32 (ia32) ------------------------------------------- ■database.ymlの内容 production: adapter: mysql database: redmine host: localhost username: root password:(rootのパスワード) encoding: utf8

  • エラーをいくらチェックしてもDB Error: syntax errorがでてしまいます。

    MySQLで困ってます。 簡単な会員登録スクリプトを作っているのですが、以下のエラーが出てしまって動きません。 DB Error: syntax error INSERT INTO group (name,pwd) VALUES ('test','test') [nativecode=1064 ** You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'group (name,pwd) VALUES ('test','test')' at line 1] PWDは実際の運用ではmd5()で暗号化する予定です。 SQL文をいくら見てもエラーが無いように思えるのですが、 どうしたものでしょうか? ちなみにサーバはロリポップを使っています。

    • ベストアンサー
    • MySQL

専門家に質問してみよう