我正在部署到 Heroku,我需要将一些 Ruby 示例代码从 SQLite 转换为 Postgres。
这是原始的 SQLite 代码:
#SQLite table
DB = Sequel.connect('sqlite://gcm-test.db')
DB.create_table? :Device do
primary_key :reg_id
String :user_id
String :reg_token
String :os, :default => 'android'
end
Device = DB[:Device] # create the dataset
我已经翻译了建表部分,但我不知道最后一行是什么意思。
Device = DB[:Device] # create the dataset
到目前为止,这是翻译后的 postgres 代码的样子:
DB = PG.connect(ENV['DATABASE_URL'])
DB.exec "DROP TABLE IF EXISTS Device"
DB.exec "CREATE TABLE Device(reg_id INTEGER PRIMARY KEY, user_id text, reg_token text, os text DEFAULT 'android')"
Device = DB[:Device] # create the dataset
当我尝试在 Heroku 上本地运行它时,出现此错误:
in `<main>': undefined method `[]' for #<PG::Connection:0x007fe7ca7a6610> (NoMethodError)
有人知道如何处理这条线吗?
最佳答案
只需要将其更改为
DB = Sequel.connect(ENV['DATABASE_URL']),
正如乔所说。
关于ruby-on-rails - Ruby:将 sqlite 命令转换为 postgres 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399691/