使用DataMapper
既然已经安装DataMapper,我必须得弄懂如何使用它,以便于:(1)与一个数据库交谈;(2)设置这个数据库,让它可以储存并检索我所需要的信息。
基于Heroku的Postgres文件,以下命令可以让我的Sinatra应用与数据库交谈:
DataMapper.setup(:default, ENV[‘DATABASE_URL’] || “sqlite3://#{Dir.pwd}/database.db”)
在这种情况下,||是表达“或者”的另一种方式。ENV[‘DATABASEURL’]是Heroku用来表示应用的数据库的变量。如果那个数据库不存在,它将会使用第二个选项,一个叫作Sqlite的数据库。
Sqlite默认安装在Mac计算机上,所以它可以随时使用。DataMapper可以与Postgres和Sqlite交谈,如果我安装了这两个Ruby程序库的话:
$ gem install dm-sqlite-adapter dm-postgres-adapter
这就意味着,当我的应用在Heroku运行的时候,它使用的是Postgres,而当它在计算机上运行的时候,它使用的是Sqlite。无论使用哪种方式,我的代码都是一样的,虽然我的数据库说着不同的语言。这真是太酷了!我们现在的应用主要是运行在计算机上的。
接下来,我该如何在我的计算机上运行这个应用呢?