20小时学会编程 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

使用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可以与PostgresSqlite交谈,如果我安装了这两个Ruby程序库的话:

$ gem install dm-sqlite-adapter dm-postgres-adapter

这就意味着,当我的应用在Heroku运行的时候,它使用的是Postgres,而当它在计算机上运行的时候,它使用的是Sqlite。无论使用哪种方式,我的代码都是一样的,虽然我的数据库说着不同的语言。这真是太酷了!我们现在的应用主要是运行在计算机上的。

接下来,我该如何在我的计算机上运行这个应用呢?