使用带有rails的mysql - 我该如何设置它?

时间:2012-03-25 17:58:58

标签: mysql ruby-on-rails ruby-on-rails-3

我想将mysql与rails应用程序一起使用(之前我从未使用过mysql)。我的经验完全在于sqlite3和postgresql,它们非常易于使用。

我现在正在创建一个学习使用mysql的新应用程序。我用homebrew(brew install mysql)安装了mysql,并创建了一个使用mysql而不是sqlite3的新rails应用程序。我在我的gemfile中包含了正确的gem(gem'mysql2','〜> 0.2.6')。

但是,我不知道该怎么办。除了在我的系统上安装它之外,我还没有在mysql中设置更多内容,我不知道如何设置它运行,它为我的应用程序存储数据库,等等。

任何人都可以让我知道接下来的步骤,或者让我了解到足以让我开发我的应用程序的教程,就像使用更简单的(sqlite)数据库系统一样吗?

1 个答案:

答案 0 :(得分:8)

我相信下一步是在“您的系统”中创建数据库,让 Rails 知道您要使用该数据库。

如果要直接使用MySQL服务器创建数据库,则需要从控制台使用此命令登录:

mysql -u root

默认情况下,mysql root用户不需要密码,否则你会用-p指定它,所以它会是:

mysql -u root -p

登录MySQL服务器后,您需要通过执行以下命令来创建数据库:

CREATE DATABASE my_project_database;

您可能希望深入了解MySQL中的用户和权限,但这只是一个起点:)。

如果你想避免进入MySQL服务器并以Rails的方式进行,你可以使用rake创建数据库。您想使用此命令:rake db:create。这将与我们之前做的相同,但请注意,在执行该命令之前,您需要创建 database.yml 文件。让我们这样做:

您希望拥有 database.yml 文件,如下所示:

development:
    host: localhost
    adapter: mysql2
    database: my_project_database
    username: root (notice that you might want to change this user later)
    password:

我认为下一步是创建生成您要使用的表的Migrations,等等。

我最喜欢Rails的一件事是ORM名为Active Record。它将抽象所有数据库操作,因此您不必担心是否要调用MySQL或SQLite ......