(共有ホストへの)デプロイメント中に、データベースに特定のデータが格納されているかどうかを確認したい場合は、デプロイメントプロセス中に挿入したいと思います。誰も私が説明したことをする方法を知っていますか?配備中にデータをシードする方法は?
答えて
個人的には、テスト中であろうとなかろうと、私のデータベースにデータを取り込むのが好きです。それらを作成したら、RAKEタスクを作成してデータベースをリセットし、それを設定することができます。私はこのreset_db.rakeタスクを持っています:
namespace :db do
desc "Drop, create, migrate, seed the database and prepare the test database for rspec"
task :reset_db => :environment do
Rake::Task['db:drop'].invoke
Rake::Task['db:create'].invoke
Rake::Task['db:migrate'].invoke
Rake::Task['db:fixtures:load'].invoke
Rake::Task['db:test:prepare'].invoke
end
end
my/lib/tasksフォルダにあります。私はそれを "rake db:reset_db"で実行します。
他のデータベースに関してホストにどの程度の柔軟性があるかわかりませんが(これらの値のためだけに別のデータベースを作成できるかどうかわかりませんが)、これらのデータをxmlドキュメントに入れてからこれらの値が存在しない場合は挿入するスクリプト。
Railsとrake db:seedにアクセスすると、なぜこれを行うのですか? – Wes
チェックアウトrake db:seed
でもrailscastがあります:http://railscasts.com/episodes/179-seed-data
問題は私にはsshアクセスがないので、 'rake db:seed'を実行できません – DanMark
--- dbディレクトリ内seed.rbというファイル(app_rootがあり
DBのSEEDアプローチ ---/db/seeds.rb)ここで、シードデータを追加できます。コメントアウトされた指示がファイルにあります(下記参照)。
Users.create(
:email=>"dummy", :pwd_hash=>"3x35zbb2...",
:pwd_salt=>'423x', :admin=>true
)
を...そしてすくいデシベルを実行します:
# This file should contain all the record creation needed to seed the database with its default values.
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
#
# Examples:
#
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
# Mayor.create(name: 'Emanuel', city: cities.first)
あなたが例えばを追加するレコードで埋めることができ種子は、あなたのテーブルにレコードを追加します。
--- EDITINGの移行方法 ---最も簡単なオプション(ただしDB:種子はおそらく優れている)だけでシード・データを移行を実行することです。ちょうどこれをしなければならなかった。サイトにはサインアップオプションがないため、管理者権限を持つシードユーザーが必要でした。移行ファイルの下:
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :email
t.string :password
t.string :name
t.boolean :admin
t.integer :company_id
t.timestamps
end
#create the seed user with admin priviledges
User.create!(:email=>"[email protected]", :password=>"test", :name=>"Dummy", :admin=>true, :company_id=>0)
end
end
- 1. 配備中/配備後にmaven配備URLを取得する
- 2. 配備中にCosmos Dbコレクションを構成する方法
- 3. MVVMアプリケーションを配備する方法は?
- 4. バイナリニューラルネットワークを配備する方法は?
- 5. WebSocketサーバーを配備する方法は?
- 6. アプレットを配備する方法は?
- 7. Silverlight:Silverlightアプリケーションを配備する方法は?
- 8. rubyアプリを配備する方法は?
- 9. WPFアプリケーションを配備する方法は?
- 10. 配備中にweb.configを変更する
- 11. レルムデータベースに標準データをシードする方法は?
- 12. .csvファイルからpostgresデータベーステーブルにデータをシードする方法は?
- 13. にjava.lang.ClassNotFoundException:org.springframework.beans.factory.generic.GenericBeanFactoryAccessor GlassFishの中に配備中
- 14. yii2にデータベースをシードする方法は?
- 15. capistranoを配備中にgit repoからサブフォルダを引き出す方法は?
- 16. エリキシルを使ってデータをシードする方法は?
- 17. Terraformでアプリケーションを配備および再配備する方法は?
- 18. シェフとカピストラーを配備する方法
- 19. 角度ユニバーサルを配備する方法
- 20. Entity Frameworkのシード中に外部キーを渡す方法
- 21. 配備ルータステータス保留中
- 22. 乱数ジェネレータをシードする方法は?
- 23. .netプロジェクトにOne Touch Digital Persona SDKを配備する方法は?
- 24. WebBlogアプリケーションサーバーにSpringBootアプリケーションを配備する方法は?
- 25. herokuにHTMLを配備する方法は?
- 26. aws beanstalkにwso2製品を配備する方法は?
- 27. herokuにgRPCサーバー/クライアントを配備する方法は?
- 28. herokuにマルチテナントアプリを配備する方法は?
- 29. Ubuntu/LinuxにNode.jsアプリケーションを配備する方法は?
- 30. AWS Lambdaにphantomjsノードアプリケーションを配備する方法は?
はあなたがチェックアウトしましRailsのマイグレーションガイド:http://guides.rubyonrails.org/migrations.html –
@Mladen Jablanovic:はい、私はガイドをチェックアウトしました。問題は私はsshアクセスを持っていないので、 'rake'コマンドを実行できません。 – DanMark