加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何使用续集创建数据库

发布时间:2020-12-16 19:17:42 所属栏目:百科 来源:网络整理
导读:我已经阅读了所有 sequel的文档,但我找不到创建数据库的方法,假设我可以做到这一点. 我正在运行一个rake任务: require 'rubygems'require 'bundler/setup'require 'pg'require 'sequel'require 'yaml'require 'erb'namespace :db do task :connect do end t
我已经阅读了所有 sequel的文档,但我找不到创建数据库的方法,假设我可以做到这一点.

我正在运行一个rake任务:

require 'rubygems'
require 'bundler/setup'

require 'pg'
require 'sequel'

require 'yaml'
require 'erb'


namespace :db do

  task :connect do

  end


  task :create => :connect do

    puts db_config

    Sequel.connect(db_config['production']){ |db|

      db.create_table :user do
        primary_key :id

        String :name
        String :email

      end

      user = db[:user]


      user.insert(:name => 'Roland',:email => 'rolandjitsu@gmail.com')
    }

  end

  task :drop => :connect do

  end

end

def db_config
  YAML.load(ERB.new(File.read('config/database.yml')).result)
end

但显然如果数据库不存在则不会创建数据库,所以我有点不确定我能做些什么.当我运行任务时,我得到:

PG::ConnectionBad: FATAL:  database "pulsr" does not exist

和database.yml文件:

production: &production
  adapter: postgres
  host: localhost
  encoding: unicode
  database: pulsr
  username:
  password:

development:
  <<: *production

有谁知道我可以做什么来创建数据库?这是启动postgresql服务器的手动过程吗?

解决方法

您可以使用 CREATE DATABASE命令创建数据库.

使用postgresql时,要创建数据库,首先以具有正确priveliges的用户身份连接到template1数据库,然后发出CREATE DATABASE命令.

如果您有shell访问权限,则可以使用方便的createdb shell命令.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读