开发者社区> 问答> 正文

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

我后来安装了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中添加数据库线?

展开
收起
小六码奴 2019-04-10 16:46:01 3089 0
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文件:

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

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

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

    2019-07-17 23:33:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载