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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

SQLite

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Ruby on Rails

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

Q&A

解決済

4回答

2613閲覧

ふとした疑問!Ruby on rails では、なぜデフォルトがSQlite3?

tttoo

総合スコア11

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

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

SQLite

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Ruby on Rails

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

0グッド

0クリップ

投稿2020/08/12 07:52

編集2020/08/12 08:05

https://builder.japan.zdnet.com/db-sql/20363548/
「Ruby on rails では、なぜデフォルトがSQlite3?」
SQlite3のメリットは何なのでしょうか?
herokuでdeployしたら、たびたびエラーに遭遇するので、ふと疑問に思いました。
(herokuはPostgreSQL)

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

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

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

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

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

tttoo

2020/08/12 08:10 編集

修正しました!
guest

回答4

0

SQlite3のメリットは何なのでしょうか?

サーバが不要なことです。

投稿2020/08/12 07:55

maisumakun

総合スコア146018

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

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

maisumakun

2020/08/12 07:56

Herokuでは「ローカルにデータを置く」ということができないので、サーバ不要なことは致命的なデメリットに転じてしまいます。
tttoo

2020/08/12 07:59

ありがとうございます、勉強になります。
guest

0

質問の主旨から離れるけど、

SQlite3のメリットは何なのでしょうか?

herokuでdeployしたら、たびたびエラーに遭遇するので、ふと疑問に思いました。
(herokuはPostgreSQL)

同じSQLでもデータベースやそのバージョンによって方言が大きいです。本場環境と開発環境は同じデータベースの同じバージョンにします。
知らないと大変なことになります。

投稿2020/08/12 08:04

Orlofsky

総合スコア16417

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

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

tttoo

2020/08/12 08:09

へー、方言なんてあるんですね。。。rails初学者なので、DB切り替えでエラーが出て勉強中です。ありがとうございます!
guest

0

デフォルトは昔はMySQLだったので、デフォルトがSQLite3に変わったのは、SunのMySQL買収時だったかと思いましたが、ググると変更は買収発表の約2ヶ月前。

一次情報じゃ無いですが、記事から引用すると、

MySQLよりもSQLite3の方がRailsを展開してそのまま動かすといった作業が容易にできるためSQLite3が採用されたとされている。従来どおりMySQLを使いたい場合は「rails -d mysql myapp」のように指定すればいい。

Ruby on RailsデフォルトDB変更:MySQLからSQLite3へ - builder by ZDNet Japan

ですが、タイミング的に買収の話があったからの可能性もありますね。

投稿2020/08/12 11:23

otn

総合スコア85901

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

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

tttoo

2020/08/12 11:34

なるほど、そういう政治的・経済的理由もあるんですね。。。勉強になります!デフォルトのsqliteを使っていてherokuの時にわざわざpgに切り替えるので、初学者みんなつまづきますー。
guest

0

自己解決

あと、SQLiteは著作権が放棄され、パブリックドメインで誰でも使えるのが特徴なんですね。そういう視点もあるんですね。https://bigdata-tools.com/sql-db/

投稿2020/08/12 11:42

編集2020/08/12 11:45
tttoo

総合スコア11

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問