uuid_migrations 0.1.0 → 0.2.0

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: e6793cd22e76c66409351c5042c3fc11341c1a2a1ada55e4d7cad3f6e54c3c65
4
- data.tar.gz: cda16681ccc123b10d4b225ea06eec2a6806b3ae33d78eb97232b6c3d033e508
3
+ metadata.gz: 91380dc0c6b33e0413b1e1f7ce768adb10b4c36f811eaad40482bbe85ceb8f41
4
+ data.tar.gz: a66d3cc80e2d336458cb9d70014afb67c202dee58213e3f6700ba5874398e9b3
5
5
  SHA512:
6
- metadata.gz: be5320095caaad7e511f870aee83616cf0125b97feaf005b465d8000f8b73862746255fb66497fb6ea2d3b7e4f5355d48a0519a686482dbea4a40bb718b76c1a
7
- data.tar.gz: f3433906dac69158798f72e449b4598cd56362d39a40325f0238266304242156f892eb8d21a3fc0ae36f80bfa67d88654a9734f60b87624f91229930be2ab4aa
6
+ metadata.gz: 930ca688a3614b8f7b93465667c6de5a46caf9ffd8dd0e54dc820282583aa34c45087fa3fd6a8a030b98533e2414acd42c3daf959884dbc5cb407f31e471f805
7
+ data.tar.gz: 43d091cf8c8fd0762ca1a5c925a07bda076d2d9ed0fd8552cd78567c99ce5345e272c76cc6031198fa68aa4d4af180d0b0f0eb4f5b57fc66e8f122108ef85c7e
data/.standard.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  # For available configuration options, see:
2
2
  # https://github.com/standardrb/standard
3
- ruby_version: 3.0
3
+ format: progress
data/CHANGELOG.md CHANGED
@@ -3,3 +3,7 @@
3
3
  ## [0.1.0] - 2024-05-24
4
4
 
5
5
  - Initial release
6
+
7
+ ## [0.2.1] - 2024-05-24
8
+
9
+ - Adding `UuidMigrations.start_with` option
data/README.md CHANGED
@@ -14,7 +14,12 @@ If bundler is not being used to manage dependencies, install the gem by executin
14
14
 
15
15
  ## Usage
16
16
 
17
- TODO: Write usage instructions here
17
+ By default, it will add `t.uuid` to all `create_table` in all your migrations.
18
+ To prevent adding `t.uuid` to migrations that were created before installing this gem, create an initializer with:
19
+
20
+ ```ruby
21
+ UuidMigrations.start_with = 20240524142747
22
+ ```
18
23
 
19
24
  ## Development
20
25
 
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module UuidMigrations
4
+ module Migration
5
+ def migrate(direction)
6
+ uuid_migrations.checker.direction = direction
7
+ super
8
+ end
9
+ end
10
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UuidMigrations
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -1,14 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "active_record"
4
- require "active_record/connection_adapters/postgresql_adapter"
5
4
 
6
5
  module UuidMigrations
7
- def build_create_table_definition(table_name, **options)
8
- td = super
6
+ mattr_accessor :start_with
7
+
8
+ def add_uuid_column(td)
9
+ return td if UuidMigrations.start_with.present? && version < UuidMigrations.start_with
10
+
9
11
  td.column(:uuid, :uuid, default: -> { "gen_random_uuid()" }) if td[:uuid].blank?
10
12
  td
11
13
  end
14
+
15
+ def create_table(...)
16
+ if block_given?
17
+ super do |td|
18
+ yield(td)
19
+ add_uuid_column(td)
20
+ end
21
+ else
22
+ super
23
+ end
24
+ end
12
25
  end
13
26
 
14
- ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend UuidMigrations
27
+ ActiveRecord::Migration.prepend UuidMigrations
28
+ ActiveRecord::Migration::Current.prepend UuidMigrations
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uuid_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hallelujah
@@ -40,6 +40,7 @@ files:
40
40
  - README.md
41
41
  - Rakefile
42
42
  - lib/uuid_migrations.rb
43
+ - lib/uuid_migrations/migration.rb
43
44
  - lib/uuid_migrations/version.rb
44
45
  - sig/uuid_migrations.rbs
45
46
  homepage: https://github.com/propitech/uuid_migrations