Skip to content

Commit

Permalink
add AR 6.1, 7.0, and ruby 3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
urkle committed May 19, 2022
1 parent def204f commit 0eb7d8a
Show file tree
Hide file tree
Showing 15 changed files with 127 additions and 8 deletions.
39 changes: 39 additions & 0 deletions .github/workflows/prs.yml
Expand Up @@ -22,9 +22,12 @@ jobs:
- '2.5'
- '2.7'
- '3.0'
- '3.1'
activerecord:
- '5.2'
- '6.0'
- '6.1'
- '7.0'
db:
- mysql2
- sqlite3
Expand All @@ -34,6 +37,10 @@ jobs:
exclude:
- ruby: '3.0'
activerecord: '5.2'
- ruby: '3.1'
activerecord: '5.2'
- ruby: '2.5'
activerecord: '7.0'
- db: skip
dbversion: skip
include:
Expand All @@ -45,6 +52,10 @@ jobs:
activerecord: '6.0'
db: postgresql
dbversion: '9.6'
- ruby: '2.5'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '2.7'
activerecord: '5.2'
db: postgresql
Expand All @@ -53,10 +64,38 @@ jobs:
activerecord: '6.0'
db: postgresql
dbversion: '9.6'
- ruby: '2.7'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '2.7'
activerecord: '7.0'
db: postgresql
dbversion: '9.6'
- ruby: '3.0'
activerecord: '6.0'
db: postgresql
dbversion: '9.6'
- ruby: '3.0'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '3.0'
activerecord: '7.0'
db: postgresql
dbversion: '9.6'
- ruby: '3.1'
activerecord: '6.0'
db: postgresql
dbversion: '9.6'
- ruby: '3.1'
activerecord: '6.1'
db: postgresql
dbversion: '9.6'
- ruby: '3.1'
activerecord: '7.0'
db: postgresql
dbversion: '9.6'
env:
BUNDLE_GEMFILE: "${{ github.workspace }}/gemfiles/activerecord-${{ matrix.activerecord }}/Gemfile.${{ matrix.db }}"
MYSQL_DB_HOST: 127.0.0.1
Expand Down
8 changes: 8 additions & 0 deletions README.md
Expand Up @@ -89,9 +89,17 @@ SchemaAutoForeignKeys is tested on:
<!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
* ruby **2.5** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.5** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.5** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.7** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.7** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.7** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **2.7** with activerecord **7.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **3.0** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **3.0** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **3.0** with activerecord **7.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **3.1** with activerecord **6.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **3.1** with activerecord **6.1**, using **mysql2**, **sqlite3** or **postgresql:9.6**
* ruby **3.1** with activerecord **7.0**, using **mysql2**, **sqlite3** or **postgresql:9.6**

<!-- SCHEMA_DEV: MATRIX - end -->

Expand Down
4 changes: 4 additions & 0 deletions gemfiles/activerecord-6.1/Gemfile.base
@@ -0,0 +1,4 @@
base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
eval File.read(base_gemfile)

gem "activerecord", ">= 6.1", "< 6.2"
10 changes: 10 additions & 0 deletions gemfiles/activerecord-6.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
10 changes: 10 additions & 0 deletions gemfiles/activerecord-6.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
10 changes: 10 additions & 0 deletions gemfiles/activerecord-6.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
4 changes: 4 additions & 0 deletions gemfiles/activerecord-7.0/Gemfile.base
@@ -0,0 +1,4 @@
base_gemfile = File.expand_path('../../Gemfile.base', __FILE__)
eval File.read(base_gemfile)

gem "activerecord", ">= 7.0", "< 7.1"
10 changes: 10 additions & 0 deletions gemfiles/activerecord-7.0/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
10 changes: 10 additions & 0 deletions gemfiles/activerecord-7.0/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
10 changes: 10 additions & 0 deletions gemfiles/activerecord-7.0/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
7 changes: 4 additions & 3 deletions schema_auto_foreign_keys.gemspec
Expand Up @@ -20,11 +20,12 @@ Gem::Specification.new do |gem|

gem.required_ruby_version = ">= 2.5.0"

gem.add_dependency "schema_plus_foreign_keys", "~> 1.0.0"
gem.add_dependency "schema_plus_indexes", "~> 1.0.0"
gem.add_dependency "activerecord", ">= 5.2", "< 7.1"
gem.add_dependency "schema_plus_foreign_keys", "~> 1.0.1"
gem.add_dependency "schema_plus_indexes", "~> 1.0.1.beta.1"

gem.add_development_dependency "bundler"
gem.add_development_dependency "rake", "~> 13.0"
gem.add_development_dependency "rspec", "~> 3.0"
gem.add_development_dependency "schema_dev", "~> 4.1"
gem.add_development_dependency "schema_dev", "~> 4.2.0"
end
3 changes: 3 additions & 0 deletions schema_dev.yml
Expand Up @@ -2,9 +2,12 @@ ruby:
- 2.5
- 2.7
- 3.0
- 3.1
activerecord:
- 5.2
- 6.0
- 6.1
- 7.0
db:
- mysql2
- sqlite3
Expand Down
2 changes: 1 addition & 1 deletion spec/migration_spec.rb
Expand Up @@ -220,7 +220,7 @@ def create_reference(reftype, column_name, **kwargs)
end
expect(Comment).to reference(:users, :id).on(:user_id)
expect(Comment).to have_index.on(:user_id)
migration = Class.new ::ActiveRecord::Migration.latest_version do
migration = Class.new ::ActiveRecord::Migration::Current do
define_method(:change) {
change_table("comments", bulk: bulk) do |t|
t.bigint :user_id
Expand Down
4 changes: 2 additions & 2 deletions spec/schema_spec.rb
Expand Up @@ -30,11 +30,11 @@

it "creates only explicity added indexes" do
expected = SchemaDev::Rspec::Helpers.mysql? ? 2 : 1
expect(connection.user_tables_only.collect { |table| connection.indexes(table) }.flatten.size).to eq(expected)
expect(connection.tables.collect { |table| connection.indexes(table) }.flatten.size).to eq(expected)
end

it "should create only explicity added foriegn keys" do
expect(connection.user_tables_only.collect { |table| connection.foreign_keys(table) }.flatten.size).to eq(2)
expect(connection.tables.collect { |table| connection.foreign_keys(table) }.flatten.size).to eq(2)
end

end
Expand Down
4 changes: 2 additions & 2 deletions spec/spec_helper.rb
@@ -1,5 +1,5 @@
require 'simplecov'
SimpleCov.start
SimpleCov.start unless SimpleCov.running

$LOAD_PATH.unshift(File.dirname(__FILE__))
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
Expand Down Expand Up @@ -41,7 +41,7 @@ def with_fk_auto_create(value = true, &block)

def define_schema(&block)
ActiveRecord::Schema.define do
connection.tables_only.each do |table|
connection.tables.each do |table|
drop_table table, force: :cascade
end
instance_eval &block
Expand Down

0 comments on commit 0eb7d8a

Please sign in to comment.