Commit 6e0d8bc
Changed files (4)
.gitignore
@@ -0,0 +1,1 @@
+.vagrant
chef_apply.rb
@@ -0,0 +1,38 @@
+execute "apt-get update -y"
+execute "apt-get upgrade -y"
+
+package [
+ 'curl',
+ 'git-core',
+ 'libsqlite3-dev',
+ 'sqlite3'
+]
+
+bash "install postgres" do
+ user "root"
+ not_if { ::File.exist?("/etc/apt/sources.list.d/pgdg.list") }
+ code <<-SCRIPT
+ echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
+ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc \
+ | apt-key add -
+ apt-get update -y
+ apt-get install -y postgresql-9.4 libpq-dev \
+ postgresql-contrib-9.4 postgresql-client-common
+ SCRIPT
+end
+
+sql = "SELECT 1 FROM pg_roles WHERE rolname='vagrant'"
+create_user = "createuser -s -e -w vagrant"
+execute "psql postgres -tAc \"#{sql}\" | grep -q 1 || #{create_user}" do
+ user "postgres"
+end
+
+sql = "SELECT 1 FROM pg_roles WHERE rolname='vagrant'"
+execute "createdb" do
+ user "vagrant"
+ not_if { "psql postgres -tAc \"#{sql}\" | grep -q 1" }
+end
+
+service "postgresql" do
+ action [:enable, :start]
+end
movies.dump
@@ -0,0 +1,284 @@
+--
+-- PostgreSQL database dump
+--
+
+SET statement_timeout = 0;
+SET lock_timeout = 0;
+SET client_encoding = 'UTF8';
+SET standard_conforming_strings = on;
+SET check_function_bodies = false;
+SET client_min_messages = warning;
+
+--
+-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner:
+--
+
+CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
+
+
+--
+-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner:
+--
+
+COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
+
+
+SET search_path = public, pg_catalog;
+
+SET default_tablespace = '';
+
+SET default_with_oids = false;
+
+--
+-- Name: movies; Type: TABLE; Schema: public; Owner: vagrant; Tablespace:
+--
+
+CREATE TABLE movies (
+ id integer NOT NULL,
+ title character varying(255),
+ studio_id integer,
+ year integer
+);
+
+
+ALTER TABLE movies OWNER TO vagrant;
+
+--
+-- Name: movies_id_seq; Type: SEQUENCE; Schema: public; Owner: vagrant
+--
+
+CREATE SEQUENCE movies_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE movies_id_seq OWNER TO vagrant;
+
+--
+-- Name: movies_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: vagrant
+--
+
+ALTER SEQUENCE movies_id_seq OWNED BY movies.id;
+
+
+--
+-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: vagrant; Tablespace:
+--
+
+CREATE TABLE schema_migrations (
+ version character varying(255) NOT NULL
+);
+
+
+ALTER TABLE schema_migrations OWNER TO vagrant;
+
+--
+-- Name: studios; Type: TABLE; Schema: public; Owner: vagrant; Tablespace:
+--
+
+CREATE TABLE studios (
+ id integer NOT NULL,
+ title character varying(255)
+);
+
+
+ALTER TABLE studios OWNER TO vagrant;
+
+--
+-- Name: studios_id_seq; Type: SEQUENCE; Schema: public; Owner: vagrant
+--
+
+CREATE SEQUENCE studios_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE studios_id_seq OWNER TO vagrant;
+
+--
+-- Name: studios_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: vagrant
+--
+
+ALTER SEQUENCE studios_id_seq OWNED BY studios.id;
+
+
+--
+-- Name: users; Type: TABLE; Schema: public; Owner: vagrant; Tablespace:
+--
+
+CREATE TABLE users (
+ id integer NOT NULL,
+ password_digest character varying(255),
+ created_at timestamp without time zone,
+ updated_at timestamp without time zone
+);
+
+
+ALTER TABLE users OWNER TO vagrant;
+
+--
+-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: vagrant
+--
+
+CREATE SEQUENCE users_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE users_id_seq OWNER TO vagrant;
+
+--
+-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: vagrant
+--
+
+ALTER SEQUENCE users_id_seq OWNED BY users.id;
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: vagrant
+--
+
+ALTER TABLE ONLY movies ALTER COLUMN id SET DEFAULT nextval('movies_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: vagrant
+--
+
+ALTER TABLE ONLY studios ALTER COLUMN id SET DEFAULT nextval('studios_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: vagrant
+--
+
+ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass);
+
+
+--
+-- Data for Name: movies; Type: TABLE DATA; Schema: public; Owner: vagrant
+--
+
+COPY movies (id, title, studio_id, year) FROM stdin;
+1 The Shawshank Redemption 1 1994
+2 Chasing Amy 2 1997
+3 Man on Fire 3 2004
+4 Toy Story 4 1995
+5 Up 4 2006
+6 Cars 4 2009
+7 Monsters Inc. 4 2001
+8 Fantasia 5 1940
+9 Dumbo 5 1941
+10 Pinocchio 5 1940
+\.
+
+
+--
+-- Name: movies_id_seq; Type: SEQUENCE SET; Schema: public; Owner: vagrant
+--
+
+SELECT pg_catalog.setval('movies_id_seq', 10, true);
+
+
+--
+-- Data for Name: schema_migrations; Type: TABLE DATA; Schema: public; Owner: vagrant
+--
+
+COPY schema_migrations (version) FROM stdin;
+20140208162237
+20131129024058
+20131129025934
+20140208154456
+20140208160437
+\.
+
+
+--
+-- Data for Name: studios; Type: TABLE DATA; Schema: public; Owner: vagrant
+--
+
+COPY studios (id, title) FROM stdin;
+1 Castle Rock
+2 MiramaxFilms
+3 RegencyEnterprises
+4 Pixar
+5 Disney
+\.
+
+
+--
+-- Name: studios_id_seq; Type: SEQUENCE SET; Schema: public; Owner: vagrant
+--
+
+SELECT pg_catalog.setval('studios_id_seq', 1, false);
+
+
+--
+-- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: vagrant
+--
+
+COPY users (id, password_digest, created_at, updated_at) FROM stdin;
+\.
+
+
+--
+-- Name: users_id_seq; Type: SEQUENCE SET; Schema: public; Owner: vagrant
+--
+
+SELECT pg_catalog.setval('users_id_seq', 1, false);
+
+
+--
+-- Name: movies_pkey; Type: CONSTRAINT; Schema: public; Owner: vagrant; Tablespace:
+--
+
+ALTER TABLE ONLY movies
+ ADD CONSTRAINT movies_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: studios_pkey; Type: CONSTRAINT; Schema: public; Owner: vagrant; Tablespace:
+--
+
+ALTER TABLE ONLY studios
+ ADD CONSTRAINT studios_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: vagrant; Tablespace:
+--
+
+ALTER TABLE ONLY users
+ ADD CONSTRAINT users_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: vagrant; Tablespace:
+--
+
+CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version);
+
+
+--
+-- Name: public; Type: ACL; Schema: -; Owner: postgres
+--
+
+REVOKE ALL ON SCHEMA public FROM PUBLIC;
+REVOKE ALL ON SCHEMA public FROM postgres;
+GRANT ALL ON SCHEMA public TO postgres;
+GRANT ALL ON SCHEMA public TO PUBLIC;
+
+
+--
+-- PostgreSQL database dump complete
+--
+
Vagrantfile
@@ -0,0 +1,23 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# https://docs.vagrantup.com/v2/vmware/kernel-upgrade.html
+$fix_vmware_tools_script = <<SCRIPT
+sed -i.bak 's/answer AUTO_KMODS_ENABLED_ANSWER no/answer AUTO_KMODS_ENABLED_ANSWER yes/g' /etc/vmware-tools/locations
+sed -i 's/answer AUTO_KMODS_ENABLED no/answer AUTO_KMODS_ENABLED yes/g' /etc/vmware-tools/locations
+SCRIPT
+
+Vagrant.configure("2") do |config|
+ config.vm.box = "phusion/ubuntu-14.04-amd64"
+ config.vm.provision :shell, inline: $fix_vmware_tools_script
+ config.vm.provision :chef_apply do |chef|
+ chef.recipe = File.read("chef_apply.rb")
+ chef.install = "force"
+ chef.version = "latest"
+ end
+ config.vm.provider :vmware_fusion do |vm|
+ vm.vmx["memsize"] = "2048"
+ vm.vmx["numvcpus"] = "2"
+ end
+ config.ssh.forward_agent = true
+end