問題タブ [dbmigrate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
22455 参照

ruby-on-rails - 「rake db:migrate」が適用する前に、どのような変更が適用されるかをどのように確認できますか?

このコマンドrake db:migrateは、関連するすべての新しい移行をデータベースに適用し、適用された移行を出力に一覧表示します。

本番環境で予想される変更のリストを書き留めるために、どの移行が適用されるかを事前に知りたいです。

rake db:migrate実際に変更を適用せずに適用される変更を表示するオプションと組み合わせて使用​​できるオプションはありますか?

0 投票する
2 に答える
373 参照

ruby-on-rails - Ruby on Rails 3 チュートリアル: 第 2 章セクション 2.2.1 ユーザー ツアー

私は Ruby on Rails を初めて使用し、このチュートリアル ブックに取り組んでいます。私は Windows Vista で Cygwin を使用しています。私が実行しているソフトウェアのバージョンは次のとおりです。

Ruby バージョン 1.9.2 (i386-cygwin) RubyGems バージョン 1.8.10 Rack バージョン 1.3 Rails バージョン 3.1.0 JavaScript ランタイム JScript Active Record バージョン 3.1.0 Action Pack バージョン 3.1.0 Active Resource バージョン 3.1.0 Action Mailer バージョン 3.1.0アクティブ サポート バージョン 3.1.0

セクション 2.2 の冒頭で、($ rails generate scaffold User name:string email:string) と ($ rake db:migrate) を正常に実行できました。しかし、($ rails server) コマンドを実行して Chrome で Web ページを開いたところ、図 2.4 のような画面が表示されませんでした。しかし、代わりにこれを見ました: "Encoding::InvalidByteSequenceError in Users#index"

レーキ バージョンを 0.9.2 から 0.8.7 に切り替えるという投稿を見て、これを試しましたが、うまくいきませんでした。私が試すことができる他の何かを今誰か知っていますか?ありがとう、ニック。

0 投票する
1 に答える
184 参照

ruby-on-rails - rake db 移行の問題

データベース移行タスクに関するいくつかの質問 (rake db:migrate)

  • スペルミスがある場合、ファイル名の名前を変更することは理にかなっていますか? (例: CreaetFoos.rb から CreateFoos.rb)
  • 開発プロセス中に誤って移行スクリプト (バージョン '3' など) を作成しましたが、それを git から削除したいと考えています。'6' の現在のレベルになるように既に移行していた場合、'2' までロールバックし、'3' に対応する移行スクリプトを git から削除し、移行スクリプトを再実行する必要があります。この場合、schema_migrations は正しいデータを保持しますか?
  • 開発プロセス中に移行スクリプトを作成したいのですが、これを完全と呼ばない限り移行スクリプトの一部と見なしたくありません (つまり、他の開発者に不完全な移行スクリプトを使用させたくありません。 git にチェックインされます)。どうすればこれを処理できますか?
0 投票する
1 に答える
766 参照

ruby-on-rails - heroku rake db:migrateが機能しない

heroku rake db:migrateを実行すると、このエラーが発生します。

オンラインで調べたところ、「pg」ジェムを追加することがわかりました。gem install pgを使用して追加し、gemファイルにも入れました。バンドルインストールを実行しました。コマンド'sudogem install activerecord-postgresql-adapter'を実行しようとすると、gemが見つからないことが通知されます。

また、gemfileに「pg」を追加してローカルマシンでコードを実行しようとしましたが、pgが見つからなかったため実行されませんでした。どういうわけかpgをインストールして、プログラムをローカルコンピューターで再び動作させましたが、heroku rake db:migrateを実行するとエラーが発生します。

0 投票する
2 に答える
1352 参照

ruby-on-rails - クローンされた github リポジトリで「rake db:migrate」を実行できない

私はレールに不慣れで、本から非常に基本的なことを学んだので、他の人のコードを読んでそれを理解しようとすることからかなり多くを学ぶことができると考えたので、githubにサインアップしてそこにすべてをセットアップしました。ここで、学ぶべき優れたオープン ソース プロジェクトの 1 つが radiant であることを読んだので、https://github.com/radiant/radiantにアクセスしてローカル ディレクトリに複製しました。次に、次のように進めました。

  1. cd radiant
  2. bundle install、うまくいきました
  3. rake db:migrate、最初に返された:

レーキが中止されました! すでに rake 0.9.2 を有効にしていますが、Gemfile には rake 0.8.7 が必要です。bundle exec を使用すると解決する場合があります

それで、私bundle exec rake db:migrateは次のように入力して受け取りました:

注: Gem.source_index は非推奨です。仕様を使用してください。2011 年 11 月 1 日以降に削除されます。c:/Ruby192/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/rails/gem_dependency から呼び出された Gem.source_index Rake が中止されました! ロードするファイルはありません -- radius

ここで、この問題を解決する方法を知りたいですか?また、Gemfile と Gemfile.lock が複製されたとき、radiant フォルダーに既に存在していることにも気付きました。これはおそらく問題の一部である可能性があります。

また、プロジェクトが書かれているのと同じバージョンのレールを実行することが重要なのだろうか?

今、私は現在Rails 3.0.5をインストールしてWindowsで実行していると言わなければなりません

誰かがここで私を助けてくれることを願っています.クローンされたgithubリポジトリを実行できなかったため、非常にイライラしていました.

0 投票する
1 に答える
710 参照

ruby-on-rails - rake db:miagrate が異常終了しました: rake が中止されました! 初期化されていない定数 Rake::DSL

誰でも私を助けることができますか?同じ問題を検索しましたが、まだ解決策がわかりません。「bundle update」「bundle install」では問題なく実行できましたが、「rake db:migrate」を実行すると以下のような問題が発生しました...

0 投票する
3 に答える
952 参照

ruby-on-rails - 移行中に主キーの自動インクリメントを処理する方法

で新しいレコードを作成しself.upてドロップする簡単なレール移行スクリプトを作成しましself.dropdelete(:id => 1)。db:migrate を実行すると、id=1 の新しいエントリが作成され、ロールバックすると削除されます。この問題は、主キー id=2 でレコードが作成され、ドロップ スクリプトがロールバックで失敗するため、再度移行/ドロップすると発生します。

それに基づいて他の依存関係があるため、主キーが毎回同じであることが非常に重要です。これを処理する正しい方法は何ですか。

0 投票する
2 に答える
814 参照

postgresql - heroku rake db:migrate の失敗 - 診断/修正方法は?

これは以前はうまく機能していました。

これを診断する方法は?

rake db:migrate私のローカルデータベースで正常に動作します。ログにエントリがありません。VERSION=xxx も役に立ちませんでした。

レーキ 0.8.7 を使用。

0 投票する
1 に答える
2082 参照

ruby - Rails 3 rake db:migrateが失敗し、'rakeが中止されました!SQLite3::Statementを配列に変換できません'

データベースを移行しようとしたときにエラーが発生したときに、Ruby onRails3チュートリアルを実行していました。db:migrateを実行する前にdb:dropを実行しても、「SQLite3::Statementを配列に変換できません」というエラーが表示されます。rakeを更新してGemfileからrspecを削除しようとしましたが、どちらも機能しませんでした。

私が使用している宝石は次のとおりです。

このエラーについて本当に混乱しています

移行ファイル:

1.8.7の代わりにruby1.9.2を使用すると、次のようになります。

0 投票する
1 に答える
3040 参照

dbmigrate - 「rake db:migrate」と「rake db:rollback」が一度に複数の移行をロールバックしないのはなぜですか?

と で予期しない動作が発生しrake db:migraterake db:rollbackいます。誰かが私に光を当てることができることを願っています。

競合するものを追加して移行を台無しにしました。もう一度移行して、すべてが正常に機能することを引き続き確認できるように、移行を 0 に戻そうとしています。

私は実行rake db:migrate version=0していて、コマンドラインにダンプされただけで、移行は報告されず、データベースへの影響もありませんでした。Rakefile があり、database.yml ファイルが正しいログイン資格情報でセットアップされています。

いろいろ試してみたところ、問題なく実行できることがわかりましrake db:rollback step=1た。移行に従って適切なアクションが実行されます。ただし、rake db:rollback step=2(または step=3 または step=5 -- 1 以外のもの) は、一度に 1 つの移行しか実行しません。

ターミナルでmysqlを使用して、データベースを完全に削除しました。それを再作成してから行きましrake db:migrateた。すべてのテーブルが本来あるべき姿で構築されました。壊れたものはすべて修正されたと思いました。

それで私は行きましたrake db:migrate version=0....そして再び何も起こりませんでした。テーブルは、空に戻るはずだったデータベースにまだ存在しています。

誰にもアイデアはありますか?この時点で、頭皮にかなりの穴が開いています。

データベースを手動で削除して移行を実行すると、rake db:migrate version=0 --dry-run --trace次のような応答が返されます。

この時点での私の移行はすべて、RailsTutorial.org のものの複製にすぎません。これは、私がこれまで学習課題として取り組んできたことです。それらにはすべて self.down メソッドがあり、一度に 1 つずつ戻すとすべて機能します。

関連する可能性のある他の唯一のことは、別のコンピューター (私の PC) でそのチュートリアルを完了したことです。チュートリアルを自分の作業の出発点として使用するために、それを github にプッシュして Mac にクローンしました。このアプリは、Mac 上の私のブラウザーでは (PC と同じように) 正常に動作しているように見えますが、無数のチュートリアルに従って、初めて Mac に Rails 環境 (RVM) をセットアップしましたが、そのためにさまざまな宝石をインストールしました。私の問題はここから発生する可能性がありますか?

アドバイスをありがとう!