Gitリポジトリから複製したRubyonRailsアプリケーションがあります。新しいユーザーの登録などを行うには、ログインが必要です。現在、登録ユーザーがいないため、完全にロックアウトされているように見えます
ユーザーがというテーブルに格納されていることは知っていますusers
が、基盤となるデータベースはMySQLであり、RubyonRailsアプリケーションのデータベースにアクセスする方法がわかりません。
誰かが私がユーザーを追加する方法を知っていますか?
Gitリポジトリから複製したRubyonRailsアプリケーションがあります。新しいユーザーの登録などを行うには、ログインが必要です。現在、登録ユーザーがいないため、完全にロックアウトされているように見えます
ユーザーがというテーブルに格納されていることは知っていますusers
が、基盤となるデータベースはMySQLであり、RubyonRailsアプリケーションのデータベースにアクセスする方法がわかりません。
誰かが私がユーザーを追加する方法を知っていますか?
これは非常に「古典的な」問題であり、入力されたパスワードをエンコードするレールピースが必要なため、ここではすぐに考えた(「mySQLを実行する」)ことはできません。
したがって、実際には次のようなレールを使用する必要があります(これはすべて、ローカルで作業する場合のデフォルトであるローカル開発環境で発生するはずです)。
ユーザーを作成する必要があります。
これを試して:
cd the_root_of_the_project
script/rails console
> User.create(:username => 'admin',
:password => 'abc123',
:password_confirmation => 'abc123')
# Add other fields, such as first_name, last_name, etc.
# as required by the user model validators.
# Perhaps :admin => true
これは、authLogicやdeviseなどの認証システム、属性名、フィールド名など、いくつかのこと(必要に応じて変更すること)を前提としていますが、ニーズに合わせて調整できるはずです。特にdb/migrateのデータベース移行ファイル、user / model / userのモデル検証、db / seeds.rbのユーザー用の既存の「シード」ファイル、および認証を確認することで、これらが何であるかを判断できます。システムフック。
'どこで'これを行うかについて-明らかにコンソールは機能しますが、これにはシードファイルを使用することもできます。コンソールで使用する「create」コマンドはすべてここに配置して、で実行できますrake db:seed
。欠点は、このファイルをソース管理にチェックインすると、安全性が低下することです。シードファイルは、参照テーブルや初期カテゴリの作成など、他のタスクに非常に役立ちます。
データベースを実際に作成していない場合は、次のタスクを認識して使用する必要があります。
rake db:create
# as it sounds, creates a database (but no application tables or columns),
# using the config/database.yml file for the connection info.
rake db:migrate
# Creates tables and columns using the db/migrate/ files.
rake db:seed
# Runs commands in db/seeds.rb to create initial records for the application.