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

postgresql – 如何从vagrantfile设置postgres配置

我想创建一个postgres用户,然后创建一个具有特定架构规范的表.有没有办法通过Vagrantfile做到这一点?

我的Vagrantfile具有内联配置脚本.

我尝试在谷歌上搜索,但所有可用的东西都与我将不会使用的厨师或安全或木偶有关.

重申我需要能够创建没有密码的db用户和带有某种模式的表.

如果我问的问题对你没有意义,请纠正我.我是devop东西的小伙子.

我的流浪档案:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.define "twitter-vm"
  config.vm.Box = "ubuntu/trusty64"

  config.vm.Box_check_update = false

  # config.vm.network "forwarded_port",guest: 80,host: 8080

  config.vm.network "private_network",ip: "192.168.33.10"
  config.vm.synced_folder "./","/home/vagrant/app"

  config.vm.provider "virtualBox" do |vb|
     vb.memory = "512"
  end

  config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"

  config.vm.provision "shell",privileged: false,inline: <<-SHELL
    sudo apt-get -y update
    sudo apt-get install -y git-core curl zlib1g-dev build-essential 
    sudo apt-get install -y libssl-dev libreadline-dev libyaml-dev 
    sudo apt-get install -y libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev 
    sudo apt-get install -y libcurl4-openssl-dev python-software-properties libffi-dev
    sudo apt-get install -y postgresql postgresql-client postgresql-contrib libpq-dev
    git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
    sudo locale-gen en_US en_US.UTF-8
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc    
    echo 'eval "$(rbenv init -)"' >> ~/.bashrc
    git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
    echo 'export LC_CTYPE=en_US.UTF-8' >> ~/.bashrc
    echo 'export LC_ALL=en_US.UTF-8' >> ~/.bashrc
    source ~/.bashrc    
    ~/.rbenv/bin/rbenv install 2.2.2
    ~/.rbenv/bin/rbenv global 2.2.2
    ~/.rbenv/bin/rbenv rehash
    ~/.rbenv/shims/gem install bundler
    cd ~/app
    ~/.rbenv/shims/bundle install
    SHELL
end

解决方法

您应该能够通过添加以下行继续使用shell配置:

# creating user
sudo -u postgres psql -c "CREATE USER admin WITH PASSWORD 'password';"
# creating new db if needed .. might need 2 (dev/test)
createdb -U vagrant swg_dev

# you can generate table from ruby (looks like you use ruby)
rake db:migrate
rake db:test:prepare

# if you have more complex things you'll need to put that in a create_db.sql file and run the script as
sudo -u postgres psql < create_db.sql

create_db.sql文件可以包含任何CREATE TABLE语句

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

相关推荐