質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Q&A

1回答

499閲覧

データベース中身を確認できない

masakin

総合スコア3

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

0グッド

0クリップ

投稿2023/03/09 02:39

実現したいこと

データベースの中身を確認したいです。
正確にはデータベースにちゃんとカラムが追加されているか確認したいです。

前提

RSpecを勉強している初学者です。
そこでRSpecでモデルテストしようとしました。
そのために以下の順番でモデルテストを行おうとしました。
①データベースの作成
②カラムの追加 ←ここで詰まっています。
③ダミーデータを入れる
④テストを書く
⑤テストの実行

発生している問題・エラーメッセージ

↓のエラーが解決できません。

Error: near "sqlite": syntax error 

エラーが出力するまでに私が行ったこと
↓データベースのコンソール起動
番号はコマンドを入力した順番を表しています。

①rails dbconsole ②sqlite>.headers on ③sqlite> select * from users;

③番を入力してエンターを押すとsyntax errorが出力されました。
イメージ説明

カラムの追加後
データベースにちゃんとカラムが追加されているか確認するために上記のことをしました。

私のソースコード
https://github.com/umeshimaru/cat_find.git

試したこと

①スペルミスがなかったか確認しました。
⇨見当たりませんでした。
②ネットで同様のエラーがないか探しました。
⇨見つかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2023/03/09 03:29

sqlite> select * from users; という SQL 文を投げたら sqlite という文字列の近くに文法エラーがあるとエラーメッセージが言っているように見えますけど?
guest

回答1

0

sqlite> のプロンプト のあとに また sqlite> を打ってるからです。
.headers on
select * from users;
だけを打ってください

追記
カラム一覧がほしいのでしたら、 rails console にて
User.column_names
としてみて

投稿2023/03/09 03:40

編集2023/03/09 12:59
winterboum

総合スコア23401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masakin

2023/03/09 04:16

初心者の私に丁寧に教えてくださり誠にありがとうございました。 ``` sqlite> .headers on sqlite> select * from users; sqlite> ``` 正しくコマンドを入力しても何も表示されないのですがこれはターミナルの不具合か何かでしょうか? もしお分かりでしたらご教授していただきたいです。 もしかしてテーブルが作られていないのかな?と思い確かめてみるとテーブルはありました。 ``` sqlite> .tables ar_internal_metadata schema_migrations users ```
winterboum

2023/03/09 08:50

tableはあるがデータはまだ作れられていない、ってことでしょう
hoshi-takanori

2023/03/09 11:01

テーブルが空だと、.headers on しても何も表示されないようですね。
winterboum

2023/03/09 12:57

sqlite はよくわかりません
masakin

2023/03/09 13:26

回答していただき誠にありがとうございます。 テーブルにダミーのデータを入れてからデータベースの中身を確認しようと思い rails consoleを入力すると以下のエラーが出力されました。 rails c /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/actiontext-6.0.4/lib/action_text/engine.rb:50:in `block (2 levels) in <class:Engine>': uninitialized constant ActionText::Engine::ApplicationController Did you mean? ApplicationRecord (NameError) from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/lazy_load_hooks.rb:71:in `class_eval' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/lazy_load_hooks.rb:71:in `block in execute_hook' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/lazy_load_hooks.rb:66:in `execute_hook' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/lazy_load_hooks.rb:51:in `each' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/actiontext-6.0.4/lib/action_text/content.rb:132:in `<main>' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/actiontext-6.0.4/lib/action_text/engine.rb:47:in `block (2 levels) in <class:Engine>' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:428:in `instance_exec' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:428:in `block in make_lambda' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:200:in `block (2 levels) in halting' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:605:in `block (2 levels) in default_terminator' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:604:in `catch' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:604:in `block in default_terminator' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:201:in `block in halting' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:513:in `block in invoke_before' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:513:in `each' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:513:in `invoke_before' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/callbacks.rb:134:in `run_callbacks' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/execution_wrapper.rb:119:in `complete!' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/execution_wrapper.rb:76:in `ensure in block in run!' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/execution_wrapper.rb:76:in `block in run!' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/execution_wrapper.rb:70:in `tap' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/execution_wrapper.rb:70:in `run!' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/execution_wrapper.rb:86:in `wrap' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/activesupport-6.0.4/lib/active_support/reloader.rb:51:in `reload!' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/spring-2.1.0/lib/spring/application.rb:168:in `serve' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/spring-2.1.0/lib/spring/application.rb:145:in `block in run' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/spring-2.1.0/lib/spring/application.rb:139:in `loop' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/spring-2.1.0/lib/spring/application.rb:139:in `run' from /home/ubuntu/.rvm/gems/ruby-2.7.6/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in `<top (required)>' from /home/ubuntu/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require' from /home/ubuntu/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require' from -e:1:in `<main>' 私のエラーの解釈 ⇨何かしらのファイルが読み込めなかった。その理由はapplication.controllerなんてないよ、 ApplicationRecord のことじゃないの?ってrailsは言っていると解釈しました。 私なりのエラー解決までの仮説 ①どこのファイルが読み込めなかったかの特定. ②そのファイルの中にapplication.controllerの記載がないか探しApplicationRecordに書き換える. ③rails console もう一度実行. ↑の仮説をやってみました。 結果①のどこのファイルが読み込めていないのかわかりません。 私の問題のあるファイルはengine.rb:50←ファイルの50行目付近ではないかと思いましたが、そんなファイルは存在しなかったため困りました。
winterboum

2023/03/09 23:05

bundle install はエラー無く終わってますか?
masakin

2023/03/10 02:01

はい。 こちらのサイトに今回のエラーが該当するのですが、 https://magazine.techacademy.jp/magazine/43826#ta-toc-1 上の記事の解決策が「クラス名などの命名規則が間違っている」「ライブラリが読み込めていない」ということなのですがどちらとも当てはまらなそうなんですが‥お手上げです‥
winterboum

2023/03/10 02:26

エラーメッセージを編集していないとすると、全部 gemの中の出来事なので、gemの取り込みに失敗しているとしか思えないのですが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問