=head1 DESCRIPTION
For most invocations, B<mig-env> will either create or use a migration-specific
-file (~/.mig/<migration_schema>.env) for setting the following environment
+file (~/.emig/<migration_schema>.env) for setting the following environment
variables:
=over 15
=item B<use> <schema>
This command will spawn a bash shell that executes the corresponding
-~/.mig/<schema>.env script for setting up environment variables encoded during
+~/.emig/<schema>.env script for setting up environment variables encoded during
B<create>.
=item B<show> [schema]
-This command will show the contents of the corresponding ~/.mig/<schema>.env
+This command will show the contents of the corresponding ~/.emig/<schema>.env
script, or, if no schema is specified, then it will list pertinent variables in
the current environment if they exist.
=item B<list>
-This command will list migration schemas found in ~/.mig
+This command will list migration schemas found in ~/.emig
=item B<help>
pod2usage(-verbose => 2) if ! $ARGV[0];
my $migration_schema = $ARGV[1] || '';
-my $filename = "$HOME/.mig/$migration_schema.env";
+my $filename = "$HOME/.emig/$migration_schema.env";
switch($ARGV[0]) {
case "--help" {
pod2usage(-verbose => 2);
case "clone" {
pod2usage(-verbose => 1) if ! $ARGV[2];
$migration_schema = $ARGV[2] || '';
- $filename = "$HOME/.mig/$migration_schema.env";
+ $filename = "$HOME/.emig/$migration_schema.env";
mig_env_clone();
}
case "use" {
}
}
case "list" {
- opendir(my $dh, "$HOME/.mig") || die "can't open $HOME/.mig: $!";
+ opendir(my $dh, "$HOME/.emig") || die "can't open $HOME/.emig: $!";
while (readdir $dh) {
if (/^(.*)\.env$/) {
print "$1\n";
# create files and directories if needed
- mkdir "$HOME/.mig";
+ mkdir "$HOME/.emig";
make_path($MIGGITDIR, { verbose => 1 });
`touch $MIGGITDIR/README`;
make_path($MIGWORKDIR, { verbose => 1 });
print FILE "export PGDATABASE=$PGDATABASE\n";
print FILE "export PGUSER=$PGUSER\n";
print FILE "export PGOPTIONS='-c search_path=$migration_schema,public,evergreen'\n";
+ print FILE "export MIGCMD=emig\n";
print FILE "export MIGENVPROMPT=$migration_schema\n";
print FILE "export MIGSCHEMA=$migration_schema\n";
print FILE "export MIGBASEWORKDIR=$MIGBASEWORKDIR\n";
print FILE "alias wcd='cd `mig wdir`'\n";
print FILE "alias gcd='cd `mig gdir`'\n";
print FILE "alias scd='cd `mig sdir`'\n";
+ print FILE "wcd\n";
print FILE "source ~/.profile\n";
print FILE "env | sort | egrep 'PG|MIG'\n";
print FILE 'echo shell PID = $$' . "\n";
sub mig_env_clone {
my $orig_migration_schema = $ARGV[1] || '';
- my $orig_filename = "$HOME/.mig/$orig_migration_schema.env";
+ my $orig_filename = "$HOME/.emig/$orig_migration_schema.env";
`cp $orig_filename $filename`;
`sed -i 's/export PGOPTIONS=.*/export PGOPTIONS='"'"'-c search_path=$migration_schema,public,evergreen'"'"'/' $filename`;
`sed -i 's/export MIGENVPROMPT=.*/export MIGENVPROMPT=$migration_schema/' $filename`;