問題タブ [rails-migrations]
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.
mysql - rake db:migrate でデータベースが消去される
PHP/symfony から Ruby/Rails に移植するアプリがあります。言語は変更されていますが、データベース (MySQL) を変更する必要はまったくありません。
データベースは既に定義されているので、テーブルごとに個別に Rails モデルを作成し、各モデルの属性を手動で指定する必要はありません。私のデータベースのサイズを考えると、それはばかげているでしょう。
モデルを個別に作成する必要がないため、myschema.yml
は空白です。schema.yml
は空白なので、実行rake db:migrate
するとデータベースが消去されます。(少なくともそれが理由だと思います。間違っているかもしれません。)
既存のデータベースがあるが、Rails のすべてのテーブルを手動で再定義したくない場合に、この状況を処理する方法を誰かが推奨できますか?
ruby-on-rails - Rakeスクリプトで値をインクリメントするにはどうすればよいですか?
:project_pages_id => 1
この値を自動インクリメントに変更するにはどうすればよいですか?
mysql - Rails Migration クラスを MYSQL データベースインスタンスから自動的に生成するには?
100 を超えるテーブルと大量のデータを含むデータベースを作成するデータベース スクリプトがあります。データベース全体の Rails Migration クラスを作成するのは、私にとって退屈な作業です。しかし、Rails Migration は、長期的なデータベースの変更管理において優れた選択肢であると考えています。Rails Migrate クラスを MYSQL データベース インスタンスから自動的に生成する方法を提案してください。
ruby-on-rails - レールを使用すると、コマンドラインからHABTM移行を生成できますか?
RailsでHABTMを実行する必要があるときはいつでも、コマンドラインから必要な移行を生成できるかどうか疑問に思っていました。
私は次のようなことをするだけで時間を節約したいと思っていました。
上記のコードは機能せず、いくつかのバリエーションも機能しません(id:false命令の有無にかかわらず)
ruby-on-rails - rake db:migrate straight、vanilla SQL の使用
を使用rake db:migrate
してバニラ SQL をロードすると、どのような問題が発生するでしょうか?
私が取り組んでいるビジネス要件では、デフォルトの Rails の移行を使用できません。しかし、変更を追跡したり、データベースの DDL を簡単に変更したり、Rails の移行によって得られるその他のことを行う必要があります。
したがって、移行ファイルは次のようになります。
ruby-on-rails - データのみの移行中に検証をバイパスして検証エラーを修正する
レールでは、新しい検証ルールに適合するように本番データを変更する移行があります。いくつか間違っているため、2 つの異なる移行があります (それらは 1 つである可能性がありますが、別々に実行される 2 つの側面である可能性があります)。逆に
検証は、次のようなモデルで新しいです
1 つはまったく新しいもので、もう 1 つは 24 から 8 に変更され、残業ビットが追加されたばかりです。
移行の順序を変更しようとしましたが、逆の結果が得られました。
最初にデータベースを更新してから、このファイルを更新してそれをバイパスする以外の方法はありますか? またはそれは私がすべきことですか?
mysql - ActiveRecordにカスタム列データ型を追加する
ローカルマシンではMySQLを使用してRailsアプリケーションを開発していますが、デプロイではPostgreSQLを使用するHerokuを使用しています。新しいデータ型を作成する必要があります。具体的には、これをロングテキストと呼びたいので、いずれかのデータベースの個別の列型にマップする必要があります。
私はこれを探していました。私の基本的な考え方は、ActiveRecord :: ConnectionAdapters :: * SQLアダプター内のハッシュをオーバーライドする必要があるということですが、これが適切なアプローチであるかどうかを確認するために、ここで豊富な知識を参照することにしました( 、可能であれば、それを行う方法の指針)または別の方法で迅速な勝利がある場合。
現在、データ型は「文字列」であり、データ型が長すぎるために挿入に失敗します。MySQLとPgSQLの両方で同じ機能が必要ですが、無制限のテキストBLOB列タイプを提供する一般的なデータ型がないようです。
アイデアは、このアプリケーションを両方のデータベーステクノロジで(移行を使用して)正しく機能させたいということです。
とても有難い。
ruby-on-rails - Rails-データベーススキーマの信頼できるソースですか?
私はRailsアプリを持っていますが、新しい開発者を参加させると、移行の履歴全体を実行することで、開発環境で現在のDBスキーマを作成できるはずだと時々言われます。個人的には、移行がスキーマの信頼できるソースであるとは思いません。現在行っているのは、現在のスキーマを含むDBの本番コピーを開発マシンにロードすることです。そして、そこから、増分移行を介してスキーマを維持できます。
だから私の質問は:
- Railsプロジェクトのスキーマの信頼できるソースは何ですか?
- DBスキーマを維持するためのベストプラクティスの方法と現在考えられているものは何ですか?
ruby-on-rails - すべてのテーブルに特定のフィールドを含めるように指定するにはどうすればよいですか?
多くのテーブル (約 40) を含むデータベースを既に定義しているとします。各テーブルに特定の列を追加したいことがわかりました。例のために、 と
created_by
とし updated_by
ます。
40回の移行を経ずに、それぞれを手動で更新することなく、これを簡単に行う方法はありますか?
私はレール2.3.8を使用しています