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

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

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

Q&A

解決済

1回答

1011閲覧

テーブルがMySQL内に作成されない

yuya1028

総合スコア7

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

0グッド

0クリップ

投稿2021/01/22 12:26

編集2021/01/22 12:28

前提

RailsでMySQLのテーブル作成を参考にusersテーブルを作成しようとしてます。
アプリの名前はatomです。適当につけました。

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

rails db:migrateをしusersテーブルを作成したのですが、
SHOW TABLES;で確認するとMySQL内にusersテーブルがありませんでした

$ rails db:migrate == 20210120134155 CreateUsers: migrating ====================================== -- create_table(:users) -> 0.0339s == 20210120134155 CreateUsers: migrated (0.0340s) ============================= == 20210120142318 AddPasswordDigestToUsers: migrating ========================= -- add_column(:users, :password_digest, :string) -> 0.0282s == 20210120142318 AddPasswordDigestToUsers: migrated (0.0283s) ================ $ mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 103 Server version: 5.6.50 Homebrew Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> SHOW TABLES; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | | innodb_index_stats | | innodb_table_stats | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | servers | | slave_master_info | | slave_relay_log_info | | slave_worker_info | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 28 rows in set (0.00 sec)

ですがatom_developmentにはテーブルが作られていました

mysql> use atom_development Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> SHOW TABLES; +----------------------------+ | Tables_in_atom_development | +----------------------------+ | ar_internal_metadata | | schema_migrations | | users | +----------------------------+ 3 rows in set (0.00 sec)

これはどうしてでしょうか?
rails db:migrateを行った場合MySQLにテーブルが作成されないのでしょうか?

またrails db:migrate行った時、自動的にMySQLにテーブルが作成される方法があれば教えて頂きたいです

補足情報(ツールのバージョン)

$ brew -v Homebrew 2.7.5 $ rbenv -v  rbenv 1.1.2 $ rbenv versions system 2.5.1 2.7.2 * 3.0.0 (set by /Users/yuya/.rbenv/version) $ ruby -v ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19] $ rails -v Rails 6.1.1 $ brew info mysql mysql: stable 8.0.23 (bottled)

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

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

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

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

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

hoshi-takanori

2021/01/22 14:19

mysql という名前のデータベースは MySQL の管理情報が入ってますので、アプリで使うべきではありません。atom_development にテーブルができてるなら、それでいいのでは。
yuya1028

2021/01/22 22:35

mysql という名前のデータベースにMySQL の管理情報が入っているのが初めて知れました。 ありがとうございます。
guest

回答1

0

ベストアンサー

正しい挙動です。
Railsドキュメント:

RAILS_ENVの初期値はdevelopment
なので「プロジェクト名_development」のDBがなければ作り、その中にテーブルを作ります。

任意のDBを利用する手もありますが、それは調べてください。そのままキーワードです。
もちろん予約語や管理面には配慮する必要があります(利用したいDBによって違います)

投稿2021/01/22 22:28

編集2021/01/22 22:29
m.ts10806

総合スコア80850

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

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

yuya1028

2021/01/22 22:37

コマンドの挙動を正しく理解できてなかったようです。 お答え頂きありがとうございました。
m.ts10806

2021/01/22 22:37

「おかしいな」とおもったらドキュメントです。 言語関係なく、フレームワーク関係なく。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問