planetscale_rails 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a94c9bffa66e63c43ca885083022c938fd8d36f2b61f221b5a6b55456db04ec2
4
- data.tar.gz: 48d42fccafd3a78f526e334f3db0579efe2f08dfbb7fb69f6d01dd5a9dfc2197
3
+ metadata.gz: 6b12ba63e8011c5a5838a651e7c6c89f4784bdf0729e571e1ce438aecf257dad
4
+ data.tar.gz: 2b90fe7b6861488cff954a6793a1fd30793b2c5690805ea0c1558663da2245ea
5
5
  SHA512:
6
- metadata.gz: b5fadeddff7396b8d6347c07549a24979e5766fc9207b140ed44ee055b1e1d73ed04966892052f440efe5f82d133c7fb7107a0bf7987739e2421d7f9d25fcead
7
- data.tar.gz: cfe46c69ed1b3366c1ac3a98f8298c9c73e5e8213a6ff1dcc29dc16c4f675965ccd363b4e903342a2a6ee487c4fef18dc74f7746d39704ee75565977c8170f2f
6
+ metadata.gz: ff86c5cc8e0f75a5455ad9672decf0e3be090405fc5169c431a7f03c2960ba4ffb330bb26feade3a3ff0a2cafd97b1717ad8de89ac8a00860c8360eb33508638
7
+ data.tar.gz: 1460c3295ae6c8cb006d0a4150e15d7bf02d1eca4e7974b795a096e79ecb7b33f1f9c7f6890ed307394310c9bd5bf5acd229656dacd2132fbc567d4f0cdb4e5a
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PlanetscaleRails
4
+ module Migration
5
+ module Current
6
+ # Allows users to set the `keyspace` option in their migration file.
7
+ # If the migration is being run against PlanetScale (i.e. `ENABLE_PSDB` is set), then we prepend the keyspace to the table name.
8
+ #
9
+ # For local MySQL databases, the keyspace is ignored.
10
+ def create_table(table_name, **options)
11
+ if ENV["ENABLE_PSDB"] && options[:keyspace].present?
12
+ table_name = "#{options[:keyspace]}.#{table_name}"
13
+ super(table_name, **options.except(:keyspace))
14
+ else
15
+ super(table_name, **options)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -112,7 +112,7 @@ namespace :psdb do
112
112
  adapter = "trilogy"
113
113
  end
114
114
 
115
- url = "#{adapter}://#{username}:#{password}@#{host}:3306/#{database}?ssl_mode=VERIFY_IDENTITY"
115
+ url = "#{adapter}://#{username}:#{password}@#{host}:3306/@primary?ssl_mode=VERIFY_IDENTITY"
116
116
 
117
117
  # Check common CA paths for certs.
118
118
  ssl_ca_path = %w[/etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/ca-bundle.pem /etc/ssl/cert.pem].find { |f| File.exist?(f) }
@@ -135,6 +135,7 @@ namespace :psdb do
135
135
  task "create_creds" => %i[environment check_ci] do
136
136
  ENV["PSCALE_DATABASE_URL"] = create_connection_string
137
137
  ENV["DISABLE_SCHEMA_DUMP"] = "true"
138
+ ENV["ENABLE_PSDB"] = "true"
138
139
  end
139
140
 
140
141
  desc "Connects to the current PlanetScale branch and runs rails db:migrate"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PlanetscaleRails
4
- VERSION = "0.2.3"
4
+ VERSION = "0.2.4"
5
5
  end
@@ -1,7 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_support"
4
+
3
5
  require_relative "planetscale_rails/version"
6
+ require_relative "planetscale_rails/migration"
4
7
 
5
8
  module PlanetscaleRails
6
9
  require "planetscale_rails/railtie" if defined?(Rails)
7
10
  end
11
+
12
+ ActiveSupport.on_load(:active_record) do
13
+ ActiveRecord::Migration::Current.prepend(PlanetscaleRails::Migration::Current)
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: planetscale_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Coutermarsh
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-01-22 00:00:00.000000000 Z
12
+ date: 2024-04-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colorize
@@ -71,6 +71,7 @@ files:
71
71
  - bin/setup
72
72
  - lib/Rakefile
73
73
  - lib/planetscale_rails.rb
74
+ - lib/planetscale_rails/migration.rb
74
75
  - lib/planetscale_rails/railtie.rb
75
76
  - lib/planetscale_rails/tasks/psdb.rake
76
77
  - lib/planetscale_rails/version.rb