微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我已经阅读了所有 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命令.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐