Merge pull request #7046 from betagouv/strong-migrations
Ajout de strong_migrations (linter automatique des migrations Rails)
This commit is contained in:
commit
377e359908
6 changed files with 363 additions and 337 deletions
1
Gemfile
1
Gemfile
|
@ -80,6 +80,7 @@ gem 'sentry-ruby'
|
||||||
gem 'sib-api-v3-sdk'
|
gem 'sib-api-v3-sdk'
|
||||||
gem 'skylight'
|
gem 'skylight'
|
||||||
gem 'spreadsheet_architect'
|
gem 'spreadsheet_architect'
|
||||||
|
gem 'strong_migrations' # lint database migrations
|
||||||
gem 'typhoeus'
|
gem 'typhoeus'
|
||||||
gem 'warden'
|
gem 'warden'
|
||||||
gem 'webpacker'
|
gem 'webpacker'
|
||||||
|
|
|
@ -691,6 +691,8 @@ GEM
|
||||||
actionpack (>= 5.2)
|
actionpack (>= 5.2)
|
||||||
activesupport (>= 5.2)
|
activesupport (>= 5.2)
|
||||||
sprockets (>= 3.0.0)
|
sprockets (>= 3.0.0)
|
||||||
|
strong_migrations (0.8.0)
|
||||||
|
activerecord (>= 5.2)
|
||||||
swd (1.3.0)
|
swd (1.3.0)
|
||||||
activesupport (>= 3)
|
activesupport (>= 3)
|
||||||
attr_required (>= 0.0.5)
|
attr_required (>= 0.0.5)
|
||||||
|
@ -875,6 +877,7 @@ DEPENDENCIES
|
||||||
spreadsheet_architect
|
spreadsheet_architect
|
||||||
spring
|
spring
|
||||||
spring-commands-rspec
|
spring-commands-rspec
|
||||||
|
strong_migrations
|
||||||
timecop
|
timecop
|
||||||
typhoeus
|
typhoeus
|
||||||
vcr
|
vcr
|
||||||
|
|
3
Rakefile
3
Rakefile
|
@ -4,3 +4,6 @@
|
||||||
require File.expand_path('config/application', __dir__)
|
require File.expand_path('config/application', __dir__)
|
||||||
|
|
||||||
Rails.application.load_tasks
|
Rails.application.load_tasks
|
||||||
|
|
||||||
|
# Alphabetize schema.rb
|
||||||
|
task 'db:schema:dump': 'strong_migrations:alphabetize_columns'
|
||||||
|
|
26
config/initializers/strong_migrations.rb
Normal file
26
config/initializers/strong_migrations.rb
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# Mark existing migrations as safe
|
||||||
|
StrongMigrations.start_after = 20220315125851
|
||||||
|
|
||||||
|
# Set timeouts for migrations
|
||||||
|
# If you use PgBouncer in transaction mode, delete these lines and set timeouts on the database user
|
||||||
|
StrongMigrations.lock_timeout = 10.seconds
|
||||||
|
StrongMigrations.statement_timeout = 1.hour
|
||||||
|
|
||||||
|
# Analyze tables after indexes are added
|
||||||
|
# Outdated statistics can sometimes hurt performance
|
||||||
|
StrongMigrations.auto_analyze = true
|
||||||
|
|
||||||
|
# Set the version of the production database
|
||||||
|
# so the right checks are run in development
|
||||||
|
# StrongMigrations.target_version = 10
|
||||||
|
|
||||||
|
# Add custom checks
|
||||||
|
# StrongMigrations.add_check do |method, args|
|
||||||
|
# if method == :add_index && args[0].to_s == "users"
|
||||||
|
# stop! "No more indexes on the users table"
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Make some operations safe by default
|
||||||
|
# See https://github.com/ankane/strong_migrations#safe-by-default
|
||||||
|
# StrongMigrations.safe_by_default = true
|
655
db/schema.rb
655
db/schema.rb
File diff suppressed because it is too large
Load diff
|
@ -5,11 +5,7 @@ describe Database::MigrationHelpers do
|
||||||
|
|
||||||
before(:all) do
|
before(:all) do
|
||||||
ActiveRecord::Migration.suppress_messages do
|
ActiveRecord::Migration.suppress_messages do
|
||||||
ActiveRecord::Migration.create_table "test_labels", force: true do |t|
|
ActiveRecord::Migration.create_table "test_labels" do |t|
|
||||||
t.string :label
|
|
||||||
t.integer :user_id
|
|
||||||
end
|
|
||||||
ActiveRecord::Migration.create_table "test_labels", force: true do |t|
|
|
||||||
t.string :label
|
t.string :label
|
||||||
t.integer :user_id
|
t.integer :user_id
|
||||||
end
|
end
|
||||||
|
@ -103,13 +99,13 @@ describe Database::MigrationHelpers do
|
||||||
|
|
||||||
before(:all) do
|
before(:all) do
|
||||||
ActiveRecord::Migration.suppress_messages do
|
ActiveRecord::Migration.suppress_messages do
|
||||||
ActiveRecord::Migration.create_table "test_physicians", force: true do |t|
|
ActiveRecord::Migration.create_table "test_physicians" do |t|
|
||||||
t.string :name
|
t.string :name
|
||||||
end
|
end
|
||||||
ActiveRecord::Migration.create_table "test_patients", force: true do |t|
|
ActiveRecord::Migration.create_table "test_patients" do |t|
|
||||||
t.string :name
|
t.string :name
|
||||||
end
|
end
|
||||||
ActiveRecord::Migration.create_table "test_appointments", id: false, force: true do |t|
|
ActiveRecord::Migration.create_table "test_appointments", id: false do |t|
|
||||||
t.integer :test_physician_id
|
t.integer :test_physician_id
|
||||||
t.integer :test_patient_id
|
t.integer :test_patient_id
|
||||||
t.datetime :datetime
|
t.datetime :datetime
|
||||||
|
|
Loading…
Reference in a new issue