Restore Postgres Dump to Ash
This is how to restore a pg_dump to an Postgres database managed by Ash. Bet you're excited.
I like to do data only dump/restores. This is so that Ash can keep track of all the initial table creation and migrations.
Dump It
Let's dump the data from a Postgres data source. Let's say it's production data that you're trying to get into that little dev environment of yours:
pg_dump --data-only --inserts -U my-user -h dev-postgres.my-host.com -d my-db-name > prod.sql
Note --data-only
(avoids DDL commands) and --inserts
(specifies the dump in sql insert
queries).
Drop It
Now get Ash to drop all the data and the tables. Napalm that pg!
mix ash_postgres.drop
Recreate It
Now Ash can reverse course and make all those tables for you again, running migrations 1 to latest.
mix ash_postgres.create
Restore It
Now to get the data from your other data source loaded into your local postgres. You have to use psql
because it's plaintext sql.
psql --host localhost --username my-user -d my-db-name -f prod.sql
Bop it.