diff --git a/.github/workflows/prs.yml b/.github/workflows/prs.yml index de472af..603865c 100644 --- a/.github/workflows/prs.yml +++ b/.github/workflows/prs.yml @@ -23,11 +23,15 @@ jobs: - '2.7' - '3.0' - '3.1' + - '3.2' + - '3.3' activerecord: - '5.2' - '6.0' - '6.1' - '7.0' + - '7.1' + - '7.2' db: - mysql2 - sqlite3 @@ -39,8 +43,16 @@ jobs: activerecord: '5.2' - ruby: '3.1' activerecord: '5.2' + - ruby: '3.2' + activerecord: '5.2' + - ruby: '3.3' + activerecord: '5.2' - ruby: '2.5' activerecord: '7.0' + - ruby: '2.5' + activerecord: '7.1' + - ruby: '2.5' + activerecord: '7.2' - db: skip dbversion: skip include: @@ -72,6 +84,14 @@ jobs: activerecord: '7.0' db: postgresql dbversion: '9.6' + - ruby: '2.7' + activerecord: '7.1' + db: postgresql + dbversion: '9.6' + - ruby: '2.7' + activerecord: '7.2' + db: postgresql + dbversion: '9.6' - ruby: '3.0' activerecord: '6.0' db: postgresql @@ -84,6 +104,14 @@ jobs: activerecord: '7.0' db: postgresql dbversion: '9.6' + - ruby: '3.0' + activerecord: '7.1' + db: postgresql + dbversion: '9.6' + - ruby: '3.0' + activerecord: '7.2' + db: postgresql + dbversion: '9.6' - ruby: '3.1' activerecord: '6.0' db: postgresql @@ -96,6 +124,54 @@ jobs: activerecord: '7.0' db: postgresql dbversion: '9.6' + - ruby: '3.1' + activerecord: '7.1' + db: postgresql + dbversion: '9.6' + - ruby: '3.1' + activerecord: '7.2' + db: postgresql + dbversion: '9.6' + - ruby: '3.2' + activerecord: '6.0' + db: postgresql + dbversion: '9.6' + - ruby: '3.2' + activerecord: '6.1' + db: postgresql + dbversion: '9.6' + - ruby: '3.2' + activerecord: '7.0' + db: postgresql + dbversion: '9.6' + - ruby: '3.2' + activerecord: '7.1' + db: postgresql + dbversion: '9.6' + - ruby: '3.2' + activerecord: '7.2' + db: postgresql + dbversion: '9.6' + - ruby: '3.3' + activerecord: '6.0' + db: postgresql + dbversion: '9.6' + - ruby: '3.3' + activerecord: '6.1' + db: postgresql + dbversion: '9.6' + - ruby: '3.3' + activerecord: '7.0' + db: postgresql + dbversion: '9.6' + - ruby: '3.3' + activerecord: '7.1' + db: postgresql + dbversion: '9.6' + - ruby: '3.3' + activerecord: '7.2' + db: postgresql + dbversion: '9.6' env: BUNDLE_GEMFILE: "${{ github.workspace }}/gemfiles/activerecord-${{ matrix.activerecord }}/Gemfile.${{ matrix.db }}" POSTGRESQL_DB_HOST: 127.0.0.1 diff --git a/gemfiles/activerecord-7.1/Gemfile.base b/gemfiles/activerecord-7.1/Gemfile.base new file mode 100644 index 0000000..8d5ea3b --- /dev/null +++ b/gemfiles/activerecord-7.1/Gemfile.base @@ -0,0 +1,4 @@ +base_gemfile = File.expand_path('../../Gemfile.base', __FILE__) +eval File.read(base_gemfile) + +gem "activerecord", ">= 7.1", "< 7.2" diff --git a/gemfiles/activerecord-7.1/Gemfile.mysql2 b/gemfiles/activerecord-7.1/Gemfile.mysql2 new file mode 100644 index 0000000..832c90b --- /dev/null +++ b/gemfiles/activerecord-7.1/Gemfile.mysql2 @@ -0,0 +1,10 @@ +base_gemfile = File.expand_path('../Gemfile.base', __FILE__) +eval File.read(base_gemfile), binding, base_gemfile + +platform :ruby do + gem "mysql2" +end + +platform :jruby do + gem 'activerecord-jdbcmysql-adapter' +end diff --git a/gemfiles/activerecord-7.1/Gemfile.postgresql b/gemfiles/activerecord-7.1/Gemfile.postgresql new file mode 100644 index 0000000..1716cd8 --- /dev/null +++ b/gemfiles/activerecord-7.1/Gemfile.postgresql @@ -0,0 +1,10 @@ +base_gemfile = File.expand_path('../Gemfile.base', __FILE__) +eval File.read(base_gemfile), binding, base_gemfile + +platform :ruby do + gem "pg" +end + +platform :jruby do + gem 'activerecord-jdbcpostgresql-adapter' +end diff --git a/gemfiles/activerecord-7.1/Gemfile.sqlite3 b/gemfiles/activerecord-7.1/Gemfile.sqlite3 new file mode 100644 index 0000000..3d85216 --- /dev/null +++ b/gemfiles/activerecord-7.1/Gemfile.sqlite3 @@ -0,0 +1,10 @@ +base_gemfile = File.expand_path('../Gemfile.base', __FILE__) +eval File.read(base_gemfile), binding, base_gemfile + +platform :ruby do + gem "sqlite3" +end + +platform :jruby do + gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2' +end diff --git a/gemfiles/activerecord-7.2/Gemfile.base b/gemfiles/activerecord-7.2/Gemfile.base new file mode 100644 index 0000000..df3d47f --- /dev/null +++ b/gemfiles/activerecord-7.2/Gemfile.base @@ -0,0 +1,4 @@ +base_gemfile = File.expand_path('../../Gemfile.base', __FILE__) +eval File.read(base_gemfile) + +gem "activerecord", ">= 7.2", "< 7.3" diff --git a/gemfiles/activerecord-7.2/Gemfile.mysql2 b/gemfiles/activerecord-7.2/Gemfile.mysql2 new file mode 100644 index 0000000..832c90b --- /dev/null +++ b/gemfiles/activerecord-7.2/Gemfile.mysql2 @@ -0,0 +1,10 @@ +base_gemfile = File.expand_path('../Gemfile.base', __FILE__) +eval File.read(base_gemfile), binding, base_gemfile + +platform :ruby do + gem "mysql2" +end + +platform :jruby do + gem 'activerecord-jdbcmysql-adapter' +end diff --git a/gemfiles/activerecord-7.2/Gemfile.postgresql b/gemfiles/activerecord-7.2/Gemfile.postgresql new file mode 100644 index 0000000..1716cd8 --- /dev/null +++ b/gemfiles/activerecord-7.2/Gemfile.postgresql @@ -0,0 +1,10 @@ +base_gemfile = File.expand_path('../Gemfile.base', __FILE__) +eval File.read(base_gemfile), binding, base_gemfile + +platform :ruby do + gem "pg" +end + +platform :jruby do + gem 'activerecord-jdbcpostgresql-adapter' +end diff --git a/gemfiles/activerecord-7.2/Gemfile.sqlite3 b/gemfiles/activerecord-7.2/Gemfile.sqlite3 new file mode 100644 index 0000000..3d85216 --- /dev/null +++ b/gemfiles/activerecord-7.2/Gemfile.sqlite3 @@ -0,0 +1,10 @@ +base_gemfile = File.expand_path('../Gemfile.base', __FILE__) +eval File.read(base_gemfile), binding, base_gemfile + +platform :ruby do + gem "sqlite3" +end + +platform :jruby do + gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2' +end diff --git a/lib/schema_plus/core/active_record/schema_dumper.rb b/lib/schema_plus/core/active_record/schema_dumper.rb index bc058d6..300d95b 100644 --- a/lib/schema_plus/core/active_record/schema_dumper.rb +++ b/lib/schema_plus/core/active_record/schema_dumper.rb @@ -54,7 +54,9 @@ def types(_) def tables(_) SchemaMonkey::Middleware::Dumper::Tables.start(dumper: self, connection: @connection, dump: @dump) do |env| - super nil + stream = StringIO.new + super stream + @dump.tables << stream.string unless stream.string.blank? end end diff --git a/lib/schema_plus/core/version.rb b/lib/schema_plus/core/version.rb index 5ba3071..a4d7862 100644 --- a/lib/schema_plus/core/version.rb +++ b/lib/schema_plus/core/version.rb @@ -2,6 +2,6 @@ module SchemaPlus module Core - VERSION = "3.1.0" + VERSION = "3.1.1" end end diff --git a/schema_dev.yml b/schema_dev.yml index e8919f3..735de53 100644 --- a/schema_dev.yml +++ b/schema_dev.yml @@ -3,11 +3,15 @@ ruby: - 2.7 - 3.0 - 3.1 + - 3.2 + - 3.3 activerecord: - 5.2 - 6.0 - 6.1 - 7.0 + - 7.1 + - 7.2 db: - postgresql - mysql2 diff --git a/schema_plus_core.gemspec b/schema_plus_core.gemspec index 0968526..0ee02b1 100644 --- a/schema_plus_core.gemspec +++ b/schema_plus_core.gemspec @@ -21,12 +21,12 @@ Gem::Specification.new do |gem| gem.required_ruby_version = ">= 2.5.0" - gem.add_dependency "activerecord", ">= 5.2", "< 7.1" + gem.add_dependency "activerecord", ">= 5.2", "< 7.3" gem.add_dependency "schema_monkey", "~> 3.0.2" gem.add_development_dependency "bundler" gem.add_development_dependency "rake", "~> 13.0.0" gem.add_development_dependency "rspec", "~> 3.0" gem.add_development_dependency "rspec-given" - gem.add_development_dependency "schema_dev", "~> 4.2.0" + gem.add_development_dependency "schema_dev", "~> 4.2.1" end