Add latest changes from gitlab-org/gitlab@16-0-stable-ee
This commit is contained in:
parent
a0111b1203
commit
52c415c0aa
|
|
@ -0,0 +1,299 @@
|
|||
20211202041233
|
||||
20211202094944
|
||||
20211202135508
|
||||
20211202145237
|
||||
20211203091642
|
||||
20211203160952
|
||||
20211203161149
|
||||
20211203161840
|
||||
20211203161942
|
||||
20211204010826
|
||||
20211206073851
|
||||
20211206074547
|
||||
20211206161271
|
||||
20211207081708
|
||||
20211207090503
|
||||
20211207125331
|
||||
20211207135331
|
||||
20211207154413
|
||||
20211207154414
|
||||
20211207165508
|
||||
20211207173510
|
||||
20211207173511
|
||||
20211208111425
|
||||
20211208122200
|
||||
20211208122201
|
||||
20211208171402
|
||||
20211209093636
|
||||
20211209093828
|
||||
20211209093923
|
||||
20211209094222
|
||||
20211209103048
|
||||
20211209203820
|
||||
20211209203821
|
||||
20211209230042
|
||||
20211210025754
|
||||
20211210031721
|
||||
20211210140000
|
||||
20211210140629
|
||||
20211210173137
|
||||
20211213064821
|
||||
20211213102111
|
||||
20211213130324
|
||||
20211213142344
|
||||
20211213154259
|
||||
20211213154704
|
||||
20211214012507
|
||||
20211214110307
|
||||
20211215090620
|
||||
20211215182006
|
||||
20211216133107
|
||||
20211216134134
|
||||
20211216135651
|
||||
20211216220939
|
||||
20211217050753
|
||||
20211217120000
|
||||
20211217145923
|
||||
20211217174331
|
||||
20211220064757
|
||||
20211220120402
|
||||
20211220123956
|
||||
20211220174504
|
||||
20211223125921
|
||||
20211224112937
|
||||
20211224114539
|
||||
20211229023654
|
||||
20211230112517
|
||||
20211230113031
|
||||
20220104060049
|
||||
20220104174445
|
||||
20220105020514
|
||||
20220105082217
|
||||
20220105121325
|
||||
20220105152547
|
||||
20220105153149
|
||||
20220106111958
|
||||
20220106112043
|
||||
20220106112085
|
||||
20220106141756
|
||||
20220106163326
|
||||
20220106185033
|
||||
20220106230629
|
||||
20220106230712
|
||||
20220106231518
|
||||
20220106233459
|
||||
20220106235626
|
||||
20220107064845
|
||||
20220107091629
|
||||
20220107165036
|
||||
20220109133006
|
||||
20220109134455
|
||||
20220110170953
|
||||
20220110171049
|
||||
20220110224913
|
||||
20220110231420
|
||||
20220110233155
|
||||
20220111002756
|
||||
20220111023852
|
||||
20220111093534
|
||||
20220111095006
|
||||
20220111095007
|
||||
20220111101421
|
||||
20220111102314
|
||||
20220111154950
|
||||
20220111154951
|
||||
20220111200254
|
||||
20220111221516
|
||||
20220112015940
|
||||
20220112090556
|
||||
20220112115413
|
||||
20220112205111
|
||||
20220112230642
|
||||
20220112232037
|
||||
20220112232605
|
||||
20220112232723
|
||||
20220113013319
|
||||
20220113014438
|
||||
20220113015830
|
||||
20220113035519
|
||||
20220113040447
|
||||
20220113111440
|
||||
20220113125401
|
||||
20220113135449
|
||||
20220113135924
|
||||
20220113164801
|
||||
20220113164901
|
||||
20220114105525
|
||||
20220114131950
|
||||
20220116175851
|
||||
20220117034056
|
||||
20220117082611
|
||||
20220117225936
|
||||
20220118015633
|
||||
20220118020026
|
||||
20220118141950
|
||||
20220118155846
|
||||
20220118155847
|
||||
20220118155848
|
||||
20220118204039
|
||||
20220119094023
|
||||
20220119094503
|
||||
20220119141407
|
||||
20220119141736
|
||||
20220119143130
|
||||
20220119144253
|
||||
20220119144458
|
||||
20220119151221
|
||||
20220119153706
|
||||
20220119154442
|
||||
20220119170426
|
||||
20220119193130
|
||||
20220119201340
|
||||
20220119203119
|
||||
20220119220620
|
||||
20220120033115
|
||||
20220120085655
|
||||
20220120094340
|
||||
20220120123700
|
||||
20220120123800
|
||||
20220120160625
|
||||
20220120211831
|
||||
20220120211832
|
||||
20220121214752
|
||||
20220121214753
|
||||
20220121221651
|
||||
20220124130028
|
||||
20220124145019
|
||||
20220124151456
|
||||
20220124151949
|
||||
20220124152824
|
||||
20220124153233
|
||||
20220124153234
|
||||
20220124180704
|
||||
20220124180705
|
||||
20220124184338
|
||||
20220124200927
|
||||
20220124204046
|
||||
20220124214131
|
||||
20220124215857
|
||||
20220124221521
|
||||
20220125083520
|
||||
20220125084127
|
||||
20220125084348
|
||||
20220125122228
|
||||
20220125122640
|
||||
20220125122725
|
||||
20220125230538
|
||||
20220126191624
|
||||
20220126201752
|
||||
20220126202654
|
||||
20220126203421
|
||||
20220126210021
|
||||
20220126210022
|
||||
20220126210657
|
||||
20220127112243
|
||||
20220127112412
|
||||
20220127132200
|
||||
20220127132201
|
||||
20220128093756
|
||||
20220128103042
|
||||
20220128155251
|
||||
20220128155814
|
||||
20220128194722
|
||||
20220131000000
|
||||
20220131000001
|
||||
20220131135725
|
||||
20220131192643
|
||||
20220201034731
|
||||
20220201141705
|
||||
20220201173212
|
||||
20220201193033
|
||||
20220201205300
|
||||
20220202034409
|
||||
20220202105733
|
||||
20220202115350
|
||||
20220203074916
|
||||
20220203091304
|
||||
20220203123333
|
||||
20220203133652
|
||||
20220203134942
|
||||
20220204053655
|
||||
20220204093120
|
||||
20220204095121
|
||||
20220204110725
|
||||
20220204154220
|
||||
20220204193000
|
||||
20220204194347
|
||||
20220207080758
|
||||
20220207083129
|
||||
20220208080921
|
||||
20220208115439
|
||||
20220208170445
|
||||
20220208171826
|
||||
20220209111007
|
||||
20220211090920
|
||||
20220211125954
|
||||
20220211214605
|
||||
20220212120735
|
||||
20220213100000
|
||||
20220213103859
|
||||
20220213104531
|
||||
20220215164709
|
||||
20220215190020
|
||||
20220216110023
|
||||
20220216201949
|
||||
20220217100008
|
||||
20220217113058
|
||||
20220217135229
|
||||
20220221102333
|
||||
20220221214928
|
||||
20220222072536
|
||||
20220222191845
|
||||
20220222192524
|
||||
20220222192525
|
||||
20220223112304
|
||||
20220223124428
|
||||
20220224000000
|
||||
20220224204415
|
||||
20220225133705
|
||||
20220301002101
|
||||
20220301003502
|
||||
20220301091503
|
||||
20220301093434
|
||||
20220301175104
|
||||
20220301175426
|
||||
20220302110724
|
||||
20220302114046
|
||||
20220302203410
|
||||
20220303190555
|
||||
20220303191047
|
||||
20220304052335
|
||||
20220304061631
|
||||
20220304062107
|
||||
20220304152729
|
||||
20220304165107
|
||||
20220304201847
|
||||
20220305223212
|
||||
20220307192534
|
||||
20220307192610
|
||||
20220307192645
|
||||
20220307192725
|
||||
20220307203458
|
||||
20220307203459
|
||||
20220308000205
|
||||
20220308115219
|
||||
20220308115502
|
||||
20220309084838
|
||||
20220309084954
|
||||
20220309100648
|
||||
20220309154855
|
||||
20220310011530
|
||||
20220310011613
|
||||
20220310095341
|
||||
20220310101118
|
||||
20220310134207
|
||||
20220310141349
|
||||
20220311010352
|
||||
20220314094841
|
||||
20220314154235
|
||||
20220314162342
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
desc 'db | migration_fix_15_11'
|
||||
task migration_fix_15_11: [:environment] do
|
||||
next if Gitlab.com?
|
||||
|
||||
only_on = %i[main ci].select { |db| Gitlab::Database.has_database?(db) }
|
||||
Gitlab::Database::EachDatabase.each_database_connection(only: only_on) do |conn, database|
|
||||
begin
|
||||
first_migration = conn.execute('SELECT * FROM schema_migrations ORDER BY version ASC LIMIT 1')
|
||||
rescue ActiveRecord::StatementInvalid
|
||||
# Uninitialized DB, skip
|
||||
next
|
||||
end
|
||||
next if first_migration.none? # No migrations have been run yet
|
||||
# If we are affected, the first migration in the schema_migrations table
|
||||
# will be 20220314184009
|
||||
next unless first_migration.first['version'] == '20220314184009'
|
||||
|
||||
puts "Running 15.11 migration fix for #{database}"
|
||||
fixes = File.readlines(Rails.root.join('db/15_11_migration_fixes.txt')).map(&:chomp)
|
||||
conn.transaction do
|
||||
fixes.each do |version|
|
||||
conn.execute("INSERT INTO schema_migrations (version) VALUES ('#{version}')")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Rake::Task['db:migrate'].enhance(['migration_fix_15_11'])
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rake_helper'
|
||||
|
||||
RSpec.describe 'migration_fix_15_11', :reestablished_active_record_base, feature_category: :database do
|
||||
let(:db) { ApplicationRecord.connection }
|
||||
let(:target_init_schema) { '20220314184009' }
|
||||
let(:earlier_init_schema) { '20210101010101' }
|
||||
|
||||
before :all do
|
||||
Rake.application.rake_require 'active_record/railties/databases'
|
||||
Rake.application.rake_require 'tasks/gitlab/db/migration_fix_15_11'
|
||||
|
||||
Rake::Task.define_task :environment
|
||||
end
|
||||
|
||||
describe 'migration_fix_15_11' do
|
||||
context 'when fix is needed' do
|
||||
it 'patches init_schema' do
|
||||
db.execute('DELETE FROM schema_migrations')
|
||||
db.execute("INSERT INTO schema_migrations (version) VALUES ('#{target_init_schema}')")
|
||||
run_rake_task(:migration_fix_15_11)
|
||||
result = db.execute('SELECT * FROM schema_migrations')
|
||||
expect(result.count).to eq(300)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when fix is not needed because no migrations have been run' do
|
||||
it 'does nothing' do
|
||||
db.execute('DELETE FROM schema_migrations')
|
||||
run_rake_task(:migration_fix_15_11)
|
||||
result = db.execute('SELECT * FROM schema_migrations')
|
||||
expect(result.count).to eq(0)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when fix is not needed because DB has not been initialized' do
|
||||
it 'does nothing' do
|
||||
db.execute('DROP TABLE schema_migrations')
|
||||
expect { run_rake_task(:migration_fix_15_11) }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
context 'when fix is not needed because there is an earlier init_schema' do
|
||||
it 'does nothing' do
|
||||
db.execute('DELETE FROM schema_migrations')
|
||||
db.execute("INSERT INTO schema_migrations (version) VALUES ('#{earlier_init_schema}')")
|
||||
run_rake_task(:migration_fix_15_11)
|
||||
result = db.execute('SELECT * FROM schema_migrations')
|
||||
expect(result.pluck('version')).to match_array [earlier_init_schema]
|
||||
end
|
||||
end
|
||||
|
||||
context 'when fix is not needed because the fix has been run already' do
|
||||
it 'does not affect the schema_migrations table' do
|
||||
db.execute('DELETE FROM schema_migrations')
|
||||
db.execute("INSERT INTO schema_migrations (version) VALUES ('#{target_init_schema}')")
|
||||
run_rake_task(:migration_fix_15_11)
|
||||
fixed_table = db.execute('SELECT version FROM schema_migrations').pluck('version')
|
||||
run_rake_task(:migration_fix_15_11)
|
||||
test_fixed_table = db.execute('SELECT version FROM schema_migrations').pluck('version')
|
||||
expect(fixed_table).to match_array test_fixed_table
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue