switched to migrations
This commit is contained in:
@@ -12,10 +12,15 @@ services:
|
||||
image: postgres:9-alpine
|
||||
ports:
|
||||
- 5432:5432
|
||||
volumes:
|
||||
- ./init-db:/docker-entrypoint-initdb.d/
|
||||
environment:
|
||||
POSTGRES_USER: ap
|
||||
POSTGRES_PASSWORD: fifteen-invoices-imported!
|
||||
POSTGRES_DB: autoap
|
||||
migrator:
|
||||
build: ./migrator
|
||||
depends_on:
|
||||
- database
|
||||
environment:
|
||||
DATABASE_URL: "postgresql://ap:fifteen-invoices-imported!@database/autoap?ssl=false"
|
||||
|
||||
|
||||
|
||||
1
migrator/.gitignore
vendored
Normal file
1
migrator/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
5
migrator/Dockerfile
Normal file
5
migrator/Dockerfile
Normal file
@@ -0,0 +1,5 @@
|
||||
FROM node:9.3-alpine
|
||||
COPY . /usr/local
|
||||
WORKDIR /usr/local
|
||||
CMD npm run db-migrate
|
||||
|
||||
3
migrator/migrations/1513802821-DOWN-initial.sql
Normal file
3
migrator/migrations/1513802821-DOWN-initial.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
-- 1513802821 DOWN initial
|
||||
drop TABLE invoices ;
|
||||
drop TABLE users ;
|
||||
@@ -1,4 +1,4 @@
|
||||
-- 1513802821 UP initial
|
||||
CREATE TABLE invoices (id serial primary key, invoice_number varchar(255), date varchar(255), total varchar(255), customer_identifier varchar(255), imported boolean, status varchar(255), vendor varchar(255), potential_duplicate boolean, company varchar(255));
|
||||
|
||||
CREATE TABLE users (id serial primary key, provider varchar(255), provider_id varchar(255), data text);
|
||||
|
||||
2
migrator/migrations/1513802974-DOWN-add-first-user.sql
Normal file
2
migrator/migrations/1513802974-DOWN-add-first-user.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
-- 1513802974 DOWN add-first-user
|
||||
delete from users;
|
||||
@@ -1 +1,2 @@
|
||||
-- 1513802974 UP add-first-user
|
||||
insert into users (provider, provider_id, data) values('google', '104596437663417983775', '{:companies ["Brown Chicken Brown Cow" "Campbell Brewing Company"]}');
|
||||
132
migrator/package-lock.json
generated
Normal file
132
migrator/package-lock.json
generated
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"name": "migrator",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"buffer-writer": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.1.tgz",
|
||||
"integrity": "sha1-Iqk2kB4wKa/NdUfrRIfOtpejvwg="
|
||||
},
|
||||
"colors": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
|
||||
"integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
|
||||
},
|
||||
"db-migrator": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/db-migrator/-/db-migrator-2.2.0.tgz",
|
||||
"integrity": "sha512-7A5sSNJwZv0/2dslOOJyccwS7wN99+Xq+ifNXUHEfxlWuVeQ9wGds3s1HYRcmtZl+oV2wq1ZEOXfyPb/GvQpMA==",
|
||||
"requires": {
|
||||
"colors": "1.1.2",
|
||||
"lodash": "4.17.4"
|
||||
}
|
||||
},
|
||||
"js-string-escape": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
|
||||
"integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8="
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.4",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
|
||||
"integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
|
||||
},
|
||||
"packet-reader": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-0.3.1.tgz",
|
||||
"integrity": "sha1-zWLmCvjX/qinBexP+ZCHHEaHHyc="
|
||||
},
|
||||
"pg": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/pg/-/pg-7.4.0.tgz",
|
||||
"integrity": "sha1-4lYGHSxScjw8hY3vuX8RWcpmD4M=",
|
||||
"requires": {
|
||||
"buffer-writer": "1.0.1",
|
||||
"js-string-escape": "1.0.1",
|
||||
"packet-reader": "0.3.1",
|
||||
"pg-connection-string": "0.1.3",
|
||||
"pg-pool": "2.0.3",
|
||||
"pg-types": "1.12.1",
|
||||
"pgpass": "1.0.2",
|
||||
"semver": "4.3.2"
|
||||
}
|
||||
},
|
||||
"pg-connection-string": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz",
|
||||
"integrity": "sha1-2hhHsglA5C7hSSvq9l1J2RskXfc="
|
||||
},
|
||||
"pg-pool": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.3.tgz",
|
||||
"integrity": "sha1-wCIDLIlJ8xKk+R+2QJzgQHa+Mlc="
|
||||
},
|
||||
"pg-types": {
|
||||
"version": "1.12.1",
|
||||
"resolved": "https://registry.npmjs.org/pg-types/-/pg-types-1.12.1.tgz",
|
||||
"integrity": "sha1-1kCH45A7WP+q0nnnWVxSIIoUw9I=",
|
||||
"requires": {
|
||||
"postgres-array": "1.0.2",
|
||||
"postgres-bytea": "1.0.0",
|
||||
"postgres-date": "1.0.3",
|
||||
"postgres-interval": "1.1.1"
|
||||
}
|
||||
},
|
||||
"pgpass": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.2.tgz",
|
||||
"integrity": "sha1-Knu0G2BltnkH6R2hsHwYR8h3swY=",
|
||||
"requires": {
|
||||
"split": "1.0.1"
|
||||
}
|
||||
},
|
||||
"postgres-array": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-1.0.2.tgz",
|
||||
"integrity": "sha1-jgsy6wO/d6XAp4UeBEHBaaJWojg="
|
||||
},
|
||||
"postgres-bytea": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz",
|
||||
"integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU="
|
||||
},
|
||||
"postgres-date": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.3.tgz",
|
||||
"integrity": "sha1-4tiXAu/bJY/52c7g/pG9BpdSV6g="
|
||||
},
|
||||
"postgres-interval": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.1.1.tgz",
|
||||
"integrity": "sha512-OkuCi9t/3CZmeQreutGgx/OVNv9MKHGIT5jH8KldQ4NLYXkvmT9nDVxEuCENlNwhlGPE374oA/xMqn05G49pHA==",
|
||||
"requires": {
|
||||
"xtend": "4.0.1"
|
||||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz",
|
||||
"integrity": "sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c="
|
||||
},
|
||||
"split": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
|
||||
"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
|
||||
"requires": {
|
||||
"through": "2.3.8"
|
||||
}
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
|
||||
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
|
||||
}
|
||||
}
|
||||
}
|
||||
21
migrator/package.json
Normal file
21
migrator/package.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "migrator",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "Bryce Covert <bryce.covert@nordstrom.com>",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"db-migrator": "^2.2.0",
|
||||
"pg": "^7.4.0"
|
||||
},
|
||||
"scripts": {
|
||||
"db-migrate": "db-migrate",
|
||||
"db-rollback": "db-rollback",
|
||||
"db-create": "db-create",
|
||||
"db-status": "db-status"
|
||||
}
|
||||
}
|
||||
@@ -26,9 +26,6 @@
|
||||
(let [db-host (:server (:db env))
|
||||
db-port 5432
|
||||
db-name "autoap"]
|
||||
(println "envt" env)
|
||||
(println (:db env))
|
||||
|
||||
{:classname "org.postgresql.Driver" ; must be in classpath
|
||||
#_#_:ssl true
|
||||
#_#_:sslfactory "org.postgresql.ssl.NonValidatingFactory"
|
||||
|
||||
Reference in New Issue
Block a user