From 8b83f87f9fc657c10e7d1ead9cff58d221eb02c9 Mon Sep 17 00:00:00 2001 From: Elia Schito Date: Thu, 23 Mar 2023 17:36:50 +0100 Subject: [PATCH 1/3] Autocreate the sandbox before starting bin/dev Co-Authored-By: Rainer Dema --- bin/dev | 4 ++++ 1 file changed, 4 insertions(+) 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 "$@" From d22673aef23038d12066948bfdb5726e52bf08d7 Mon Sep 17 00:00:00 2001 From: Elia Schito Date: Thu, 23 Mar 2023 17:52:11 +0100 Subject: [PATCH 2/3] Fix migrations updater timestamp and order Co-Authored-By: Rainer Dema --- bin/update-migrations | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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) From 2b75986d234fa3525436e5d6319bb27f4cfadf12 Mon Sep 17 00:00:00 2001 From: Elia Schito Date: Tue, 28 Mar 2023 17:51:59 +0200 Subject: [PATCH 3/3] Don't try to update migrations on the CI CI will start from scratch every time. --- bin/rspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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