diff --git a/bin/dev b/bin/dev index 06fccb37..20dee8d5 100755 --- a/bin/dev +++ b/bin/dev @@ -5,5 +5,9 @@ if ! gem list foreman -i --silent; then gem install foreman fi +if ! test -d sandbox; then + bin/sandbox +fi + export PORT=3000 exec foreman start -f Procfile.dev "$@" diff --git a/bin/rspec b/bin/rspec index 42bc6a1e..175c3fb7 100755 --- a/bin/rspec +++ b/bin/rspec @@ -5,6 +5,6 @@ system( err: :out, ) or abort(File.read("tmp/rspec-sync.log")) -system("bin/update-migrations", "dummy-app") +system("bin/update-migrations", "dummy-app") unless ENV['CI'] Dir.chdir "dummy-app/" exec "bundle", "exec", "rspec", *ARGV diff --git a/bin/update-migrations b/bin/update-migrations index a0f90293..adf98827 100755 --- a/bin/update-migrations +++ b/bin/update-migrations @@ -16,7 +16,7 @@ Dir["#{app}/db/migrate/*.#{extension_name}.rb"].sort.reverse_each do |path| if current_migrations[basename] if contents != File.read(current_migrations[basename]) puts "rolling back #{basename}..." - Dir.chdir(app) { system("bin/rails db:rollback VERSION=#{timestamp}") } + Dir.chdir(app) { system("bin/rails db:migrate:down VERSION=#{timestamp}") } puts "updating #{basename}..." File.write(path, File.read(current_migrations[basename])) else @@ -32,9 +32,10 @@ Dir["#{app}/db/migrate/*.#{extension_name}.rb"].sort.reverse_each do |path| end # Install missing migrations -current_migrations.each do |basename, path| +base_time = Time.now.utc.to_i +current_migrations.reverse_each.with_index do |(basename, path), index| puts "installing #{basename}..." - timestamp = Time.now.utc.strftime("%F%T").delete('-:') + timestamp = Time.at(base_time + index).strftime("%F%T").delete('-:') # rubocop:disable Rails/TimeZone contents = File.read(path) File.write("#{app}/db/migrate/#{timestamp}_#{basename}.#{extension_name}.rb", contents)