我已经阅读了所有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 => '[email protected]')
}
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时,要创建数据库,首先要以具有正确特权的用户身份连接到template1数据库,然后发出CREATE DATABASE命令。
如果您具有shell访问权限,则可以改用方便的createdb shell命令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句