开发者社区> 问答> 正文

如何使用activerecord-sinatra为PostqreSQL添加行?

宋淑婷 2019-04-10 16:46:01 254

我后来安装了PostgreSQL

1 - 已安装的ruby pg

2 - 已安装的ruby:

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:create和rake db:migration

创建数据库,显示psql控制台中的数据库。现在如何在sinatra中添加数据库线?

关系型数据库 数据库 PostgreSQL Ruby
分享到
取消 提交回答
全部回答(1)
  • 宋淑婷
    2019-07-17 23:33:08

    要创建新文章,请使用:

    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文件:

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

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

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

    0 0
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程