【问题标题】:How add line to PostqreSQL use activerecord-sinatra?如何使用 activerecord-sinatra 向 PostqreSQL 添加行?
【发布时间】:2019-08-28 15:46:39
【问题描述】:

我后来安装了 PostgreSQL

1 - 已安装 gem pg

2 - 已安装的 gem:

gem install activerecord 
gem install sinatra-activerecord 
gem install rake

3 - 我创建了连接数据库到文件 app.rb

# app.rb 
configure :development do set :database, {adapter: "postgresql",  encoding: "unicode", database: "your_database_name", pool: 2, username: "your_username", password: "your_password"}
end

configure :production do
  set :database, {adapter: "postgresql",  encoding: "unicode", database: "your_database_name", pool: 2, username: "your_username", password: "your_password"}
end

4 - 创建模型到文件 app.rb

class Article < ActiveRecord::Base
end

5 - 创建到 Rakefile 的迁移

require 'sinatra/activerecord'
require 'sinatra/activerecord/rake'
require './app'

6 - rake db:create_migration NAME=create_articles

7 - 在新创建的文件迁移中

class CreateArticles < ActiveRecord::Migration
    def change
        create_table :articles do |t|
          t.string :title
          t.string :content
          t.boolean :published, :default => false
          t.datetime :published_on, :required => false
          t.integer :likes, :default => 0
          t.timestamps null: false
        end
      end
    end 

8 - 我完成了命令 db:createrake db:migration

Database created, 显示 psql 控制台中的数据库。现在在 sinatra 中向数据库添加行怎么样?

【问题讨论】:

    标签: ruby postgresql sinatra sinatra-activerecord


    【解决方案1】:

    用于创建新文章使用:

    Article.create(title: your_title, content: your_content, published: true, published_on: Time.now)
    

    按 ID 查找文章:

    Article.find(id)
    

    更新文章:

    article = Article.find(id)
    article.update(title: your_title, content: your_content, published: true, published_on: Time.now)
    

    删除文章记录:

    article = Article.find(id)
    article.destroy
    

    AR 文档:

    1. 用于持久性 - https://www.rubydoc.info/gems/activerecord/ActiveRecord/Persistence

    2. 查找:https://www.rubydoc.info/gems/activerecord/ActiveRecord/FinderMethods

    3. 对于复杂查询:https://www.rubydoc.info/gems/activerecord/ActiveRecord/QueryMethods

    【讨论】:

      猜你喜欢
      • 2015-06-23
      • 2012-11-09
      • 2013-07-04
      • 1970-01-01
      • 2011-08-14
      • 2014-07-10
      • 2013-05-17
      • 2013-07-31
      • 1970-01-01
      相关资源
      最近更新 更多