groonga-client-model 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/doc/text/news.md +30 -0
  3. data/groonga-client-model.gemspec +1 -1
  4. data/lib/groonga_client_model/log_subscriber.rb +1 -3
  5. data/lib/groonga_client_model/migration.rb +493 -0
  6. data/lib/groonga_client_model/migrator.rb +240 -0
  7. data/lib/groonga_client_model/railtie.rb +4 -2
  8. data/lib/groonga_client_model/railties/groonga.rake +55 -2
  9. data/lib/groonga_client_model/record.rb +39 -1
  10. data/lib/groonga_client_model/schema.rb +8 -0
  11. data/lib/groonga_client_model/schema_loader.rb +4 -9
  12. data/lib/groonga_client_model/test/groonga_server_runner.rb +19 -3
  13. data/lib/groonga_client_model/version.rb +1 -1
  14. data/lib/rails/generators/groonga_client_model/migration/templates/create_table_migration.rb +14 -0
  15. data/lib/rails/generators/groonga_client_model/migration/templates/delete_config_migration.rb +9 -0
  16. data/lib/rails/generators/groonga_client_model/migration/templates/migration.rb +12 -0
  17. data/lib/rails/generators/groonga_client_model/migration/templates/set_config_migration.rb +10 -0
  18. data/lib/rails/generators/groonga_client_model/migration_generator.rb +125 -0
  19. data/lib/rails/generators/groonga_client_model/{model/model_generator.rb → model_generator.rb} +18 -4
  20. data/test/apps/rails4/Gemfile.lock +2 -2
  21. data/test/apps/rails4/db/groonga/migrate/20170303120517_create_posts.rb +8 -0
  22. data/test/apps/rails4/db/groonga/migrate/20170303120527_create_terms.rb +7 -0
  23. data/test/apps/rails4/db/groonga/migrate/20170303120536_create_ages.rb +6 -0
  24. data/test/apps/rails4/log/development.log +22 -0
  25. data/test/apps/rails4/log/test.log +1350 -0
  26. data/test/apps/rails4/test/generators/migration_generator_test.rb +103 -0
  27. data/test/apps/rails4/test/tmp/db/groonga/migrate/20170307045825_set_config_alias_column.rb +10 -0
  28. data/test/apps/rails5/Gemfile.lock +8 -8
  29. data/test/apps/rails5/db/groonga/migrate/20170301061420_create_posts.rb +8 -0
  30. data/test/apps/rails5/db/groonga/migrate/20170303115054_create_terms.rb +7 -0
  31. data/test/apps/rails5/db/groonga/migrate/20170303115135_create_ages.rb +6 -0
  32. data/test/apps/rails5/log/development.log +350 -0
  33. data/test/apps/rails5/log/test.log +3260 -0
  34. data/test/apps/rails5/test/generators/migration_generator_test.rb +103 -0
  35. data/test/apps/rails5/test/tmp/db/groonga/migrate/20170307081511_remove_title_from_posts.rb +5 -0
  36. data/test/apps/rails5/tmp/cache/assets/sprockets/v3.0/5C/5Cws9GLWcOju_f3tIpY01qSaj7zkLAU0a2bQmpf7sS8.cache +1 -0
  37. data/test/apps/rails5/tmp/cache/assets/sprockets/v3.0/XH/XH9pWZvGgK476BpPGID5z8hjzRmGJjtzV0cHBLXhIKc.cache +1 -0
  38. data/test/unit/fixtures/migrate/20170301061420_create_posts.rb +8 -0
  39. data/test/unit/fixtures/migrate/20170303115054_create_terms.rb +7 -0
  40. data/test/unit/fixtures/migrate/20170303115135_create_ages.rb +6 -0
  41. data/test/unit/migration/test_config.rb +62 -0
  42. data/test/unit/migration/test_copy.rb +117 -0
  43. data/test/unit/migration/test_create_table.rb +528 -0
  44. data/test/unit/migration/test_exist.rb +47 -0
  45. data/test/unit/migration/test_load.rb +83 -0
  46. data/test/unit/record/test_active_model.rb +31 -0
  47. data/test/unit/record/test_readers.rb +45 -0
  48. data/test/unit/record/test_timestamps.rb +76 -0
  49. data/test/unit/record/test_validators.rb +295 -0
  50. data/test/unit/run-test.rb +1 -2
  51. data/test/unit/test_helper.rb +109 -0
  52. data/test/unit/test_load_value_generator.rb +8 -7
  53. data/test/unit/test_migrator.rb +156 -0
  54. metadata +64 -11
  55. data/test/apps/rails4/db/schema.grn +0 -9
  56. data/test/apps/rails5/db/schema.grn +0 -11
  57. data/test/unit/test_record.rb +0 -345
@@ -27,8 +27,7 @@ test_dir = base_dir + "test/unit"
27
27
 
28
28
  $LOAD_PATH.unshift(lib_dir.to_s)
29
29
 
30
- require "test-unit"
31
- require "groonga-client-model"
30
+ require_relative "test_helper"
32
31
 
33
32
  Thread.abort_on_exception = true
34
33
 
@@ -0,0 +1,109 @@
1
+ # Copyright (C) 2017 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ require "stringio"
18
+
19
+ require "test-unit"
20
+
21
+ require "groonga-client-model"
22
+ require "groonga_client_model/test_helper"
23
+ require "groonga_client_model/migration"
24
+
25
+ GroongaClientModel::Client.url = "http://127.0.0.1:20041"
26
+
27
+ module TestHelper
28
+ module Columns
29
+ Column = Groonga::Client::Response::Schema::Column
30
+
31
+ class << self
32
+ def build(definitions={})
33
+ raw_schema = nil
34
+ raw_columns = {}
35
+ default_definition = {
36
+ "indexes" => [],
37
+ "value_type" => nil,
38
+ }
39
+ id_definition = default_definition.merge("name" => "_id",
40
+ "value_type" => {
41
+ "name" => "UInt32",
42
+ })
43
+ raw_columns["_id"] = Column.new(raw_schema, id_definition)
44
+ definitions.each do |name, definition|
45
+ definition = default_definition.merge("name" => name).merge(definition)
46
+ raw_columns[name] = Column.new(raw_schema, definition)
47
+ end
48
+ GroongaClientModel::Schema::Columns.new(raw_schema, raw_columns)
49
+ end
50
+ end
51
+ end
52
+
53
+ module Migration
54
+ def open_client(&block)
55
+ GroongaClientModel::Client.open(&block)
56
+ end
57
+
58
+ def normalize_report(report)
59
+ report.gsub(/[0-9]+\.[0-9]+s/, "0.0s")
60
+ end
61
+
62
+ def dump
63
+ open_client do |client|
64
+ client.dump.body
65
+ end
66
+ end
67
+
68
+ def assert_migrate(expected_up_report,
69
+ expected_down_report,
70
+ expected_dump)
71
+ migration_class = Class.new(GroongaClientModel::Migration) do |klass|
72
+ define_method(:change) do
73
+ yield(self)
74
+ end
75
+ end
76
+
77
+ original_dump = dump
78
+
79
+ up_output = StringIO.new
80
+ open_client do |client|
81
+ migration = migration_class.new(client)
82
+ migration.output = up_output
83
+ migration.up
84
+ end
85
+ assert_equal(expected_up_report, normalize_report(up_output.string))
86
+
87
+ assert_equal(expected_dump, dump)
88
+
89
+ if expected_down_report
90
+ down_output = StringIO.new
91
+ open_client do |client|
92
+ migration = migration_class.new(client)
93
+ migration.output = down_output
94
+ migration.down
95
+ end
96
+ assert_equal(expected_down_report, normalize_report(down_output.string))
97
+ assert_equal(original_dump, dump)
98
+ else
99
+ open_client do |client|
100
+ migration = migration_class.new(client)
101
+ assert_raise(GroongaClientModel::IrreversibleMigrationError) do
102
+ migration.down
103
+ end
104
+ end
105
+ assert_equal(expected_dump, dump)
106
+ end
107
+ end
108
+ end
109
+ end
@@ -18,10 +18,9 @@ class TestLoadValueGenerator < Test::Unit::TestCase
18
18
  class Memo < GroongaClientModel::Record
19
19
  class << self
20
20
  def columns
21
- GroongaClientModel::Schema::Columns.new(nil,
22
- "tag" => {},
23
- "tags" => {},
24
- "created_at" => {})
21
+ TestHelper::Columns.build("tag" => {},
22
+ "tags" => {},
23
+ "created_at" => {})
25
24
  end
26
25
  end
27
26
  end
@@ -29,9 +28,11 @@ class TestLoadValueGenerator < Test::Unit::TestCase
29
28
  class Tag < GroongaClientModel::Record
30
29
  class << self
31
30
  def columns
32
- GroongaClientModel::Schema::Columns.new(nil,
33
- "_id" => {},
34
- "_key" => {})
31
+ TestHelper::Columns.build("_key" => {
32
+ "value_type" => {
33
+ "name" => "ShortText",
34
+ },
35
+ })
35
36
  end
36
37
  end
37
38
  end
@@ -0,0 +1,156 @@
1
+ # Copyright (C) 2017 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class TestMigrator < Test::Unit::TestCase
18
+ include GroongaClientModel::TestHelper
19
+
20
+ def create_migrator
21
+ path = File.expand_path("fixtures/migrate", __dir__)
22
+ migrator = GroongaClientModel::Migrator.new(path)
23
+ migrator.output = StringIO.new
24
+ migrator
25
+ end
26
+
27
+ sub_test_case("#target_version=") do
28
+ sub_test_case("exist") do
29
+ test("forward") do
30
+ migrator = create_migrator
31
+ migrator.target_version = 20170303115054
32
+ assert_equal([
33
+ 20170301061420,
34
+ 20170303115054,
35
+ ],
36
+ migrator.each.collect(&:version))
37
+ end
38
+
39
+ test("backward") do
40
+ create_migrator.migrate
41
+
42
+ migrator = create_migrator
43
+ migrator.target_version = 20170303115054
44
+ assert_equal([
45
+ 20170303115135,
46
+ ],
47
+ migrator.each.collect(&:version))
48
+ end
49
+ end
50
+
51
+ sub_test_case("not exist") do
52
+ test("forward") do
53
+ migrator = create_migrator
54
+ migrator.target_version = 9999_99_99_999999
55
+ assert_equal([
56
+ 20170301061420,
57
+ 20170303115054,
58
+ 20170303115135,
59
+ ],
60
+ migrator.each.collect(&:version))
61
+ end
62
+
63
+ test("backward") do
64
+ create_migrator.migrate
65
+
66
+ migrator = create_migrator
67
+ migrator.target_version = -1
68
+ assert_equal([
69
+ 20170303115135,
70
+ 20170303115054,
71
+ 20170301061420,
72
+ ],
73
+ migrator.each.collect(&:version))
74
+ end
75
+ end
76
+ end
77
+
78
+ sub_test_case("#step=") do
79
+ test("positive") do
80
+ migrator = create_migrator
81
+ migrator.step = 2
82
+ assert_equal([
83
+ 20170301061420,
84
+ 20170303115054,
85
+ ],
86
+ migrator.each.collect(&:version))
87
+ end
88
+
89
+ test("too large") do
90
+ migrator = create_migrator
91
+ migrator.step = 4
92
+ assert_equal([
93
+ 20170301061420,
94
+ 20170303115054,
95
+ 20170303115135,
96
+ ],
97
+ migrator.each.collect(&:version))
98
+ end
99
+
100
+ test("negative") do
101
+ create_migrator.migrate
102
+
103
+ migrator = create_migrator
104
+ migrator.step = -2
105
+ assert_equal([
106
+ 20170303115135,
107
+ 20170303115054,
108
+ ],
109
+ migrator.each.collect(&:version))
110
+ end
111
+
112
+ test("too small") do
113
+ create_migrator.migrate
114
+
115
+ migrator = create_migrator
116
+ migrator.step = -4
117
+ assert_equal([
118
+ 20170303115135,
119
+ 20170303115054,
120
+ 20170301061420,
121
+ ],
122
+ migrator.each.collect(&:version))
123
+ end
124
+ end
125
+
126
+ sub_test_case("redo") do
127
+ test("first version") do
128
+ migrator = create_migrator
129
+ migrator.target_version = migrator.each.collect(&:version).first
130
+ migrator.migrate
131
+
132
+ migrator = create_migrator
133
+ migrator.step = -1
134
+ migrator.migrate
135
+ migrator.step = 1
136
+ assert_equal([
137
+ 20170301061420,
138
+ ],
139
+ migrator.each.collect(&:version))
140
+ end
141
+
142
+ test("latest version") do
143
+ migrator = create_migrator
144
+ migrator.migrate
145
+
146
+ migrator = create_migrator
147
+ migrator.step = -1
148
+ migrator.migrate
149
+ migrator.step = 1
150
+ assert_equal([
151
+ 20170303115135,
152
+ ],
153
+ migrator.each.collect(&:version))
154
+ end
155
+ end
156
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groonga-client-model
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-07 00:00:00.000000000 Z
11
+ date: 2017-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: groonga-client
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.4.1
19
+ version: 0.4.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.4.1
26
+ version: 0.4.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: groonga-command-parser
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -145,6 +145,8 @@ files:
145
145
  - lib/groonga_client_model/locale/en.yml
146
146
  - lib/groonga_client_model/locale/ja.yml
147
147
  - lib/groonga_client_model/log_subscriber.rb
148
+ - lib/groonga_client_model/migration.rb
149
+ - lib/groonga_client_model/migrator.rb
148
150
  - lib/groonga_client_model/modelizable.rb
149
151
  - lib/groonga_client_model/modelize.rb
150
152
  - lib/groonga_client_model/railtie.rb
@@ -159,9 +161,14 @@ files:
159
161
  - lib/groonga_client_model/test_helper.rb
160
162
  - lib/groonga_client_model/validations/type_validator.rb
161
163
  - lib/groonga_client_model/version.rb
162
- - lib/rails/generators/groonga_client_model/model/model_generator.rb
164
+ - lib/rails/generators/groonga_client_model/migration/templates/create_table_migration.rb
165
+ - lib/rails/generators/groonga_client_model/migration/templates/delete_config_migration.rb
166
+ - lib/rails/generators/groonga_client_model/migration/templates/migration.rb
167
+ - lib/rails/generators/groonga_client_model/migration/templates/set_config_migration.rb
168
+ - lib/rails/generators/groonga_client_model/migration_generator.rb
163
169
  - lib/rails/generators/groonga_client_model/model/templates/application_groonga_record.rb
164
170
  - lib/rails/generators/groonga_client_model/model/templates/model.rb
171
+ - lib/rails/generators/groonga_client_model/model_generator.rb
165
172
  - test/apps/rails4/Gemfile
166
173
  - test/apps/rails4/Gemfile.lock
167
174
  - test/apps/rails4/README.rdoc
@@ -210,7 +217,9 @@ files:
210
217
  - test/apps/rails4/config/locales/en.yml
211
218
  - test/apps/rails4/config/routes.rb
212
219
  - test/apps/rails4/config/secrets.yml
213
- - test/apps/rails4/db/schema.grn
220
+ - test/apps/rails4/db/groonga/migrate/20170303120517_create_posts.rb
221
+ - test/apps/rails4/db/groonga/migrate/20170303120527_create_terms.rb
222
+ - test/apps/rails4/db/groonga/migrate/20170303120536_create_ages.rb
214
223
  - test/apps/rails4/db/seeds.rb
215
224
  - test/apps/rails4/log/development.log
216
225
  - test/apps/rails4/log/test.log
@@ -221,8 +230,10 @@ files:
221
230
  - test/apps/rails4/public/robots.txt
222
231
  - test/apps/rails4/test/controllers/posts_controller_test.rb
223
232
  - test/apps/rails4/test/factories/posts.rb
233
+ - test/apps/rails4/test/generators/migration_generator_test.rb
224
234
  - test/apps/rails4/test/models/post_test.rb
225
235
  - test/apps/rails4/test/test_helper.rb
236
+ - test/apps/rails4/test/tmp/db/groonga/migrate/20170307045825_set_config_alias_column.rb
226
237
  - test/apps/rails4/tmp/cache/assets/sprockets/v3.0/1v/1vNbaFvqzPuMCPa9LBe2yL962Ncp7RbNREOlE_qe8Ss.cache
227
238
  - test/apps/rails4/tmp/cache/assets/sprockets/v3.0/2F/2FyDjMLF22tXYLEKS6UqrqiSZTKp2HowmRsOZfW2dQs.cache
228
239
  - test/apps/rails4/tmp/cache/assets/sprockets/v3.0/3Q/3QxCnPBwOHO-nainvNGREWb7QnMUKlPsx4AFZgNVVUI.cache
@@ -335,7 +346,9 @@ files:
335
346
  - test/apps/rails5/config/routes.rb
336
347
  - test/apps/rails5/config/secrets.yml
337
348
  - test/apps/rails5/config/spring.rb
338
- - test/apps/rails5/db/schema.grn
349
+ - test/apps/rails5/db/groonga/migrate/20170301061420_create_posts.rb
350
+ - test/apps/rails5/db/groonga/migrate/20170303115054_create_terms.rb
351
+ - test/apps/rails5/db/groonga/migrate/20170303115135_create_ages.rb
339
352
  - test/apps/rails5/db/seeds.rb
340
353
  - test/apps/rails5/log/development.log
341
354
  - test/apps/rails5/log/test.log
@@ -349,9 +362,11 @@ files:
349
362
  - test/apps/rails5/test/controllers/posts_controller_test.rb
350
363
  - test/apps/rails5/test/factories/ages.rb
351
364
  - test/apps/rails5/test/factories/posts.rb
365
+ - test/apps/rails5/test/generators/migration_generator_test.rb
352
366
  - test/apps/rails5/test/models/age_test.rb
353
367
  - test/apps/rails5/test/models/post_test.rb
354
368
  - test/apps/rails5/test/test_helper.rb
369
+ - test/apps/rails5/test/tmp/db/groonga/migrate/20170307081511_remove_title_from_posts.rb
355
370
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/-X/-XSAop9IIcSTUV_xiFS6IsrwsKgzfBrhLSIgb3alOgI.cache
356
371
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/04/04zh1ytKDagWzWcqUyadXtzzohCn9iVvSVG4KrjpfPU.cache
357
372
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/05/05HAjV9iJX9zqV_rpyUQjVkKEvW5kK3XsyZauoD3MGU.cache
@@ -368,6 +383,7 @@ files:
368
383
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/3V/3VDW3Icf6dS8Wm81X2o6wpM2X_XBbxJ1GXVAmLMPkmQ.cache
369
384
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/3d/3dM4S3-yZA5FH03WVgndCHr0XbWKpRNKVDqBbbTkhPo.cache
370
385
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/4N/4NSeDEGAGtTIlzShWYtQoKzyH2QCRAO29qbgVDm9EHc.cache
386
+ - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/5C/5Cws9GLWcOju_f3tIpY01qSaj7zkLAU0a2bQmpf7sS8.cache
371
387
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/5g/5gcXfyU_2YGZzzLIX2HgVkpwSaUUyIH9beyVvR4-RyM.cache
372
388
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/6a/6ae9A4LxsOF8WxXqTRrY_OfmiKLzuX-k8CdxcYhyH2w.cache
373
389
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/6g/6gfb-nNauXmim2itNUscPWKLGmjzBgnE4ee76bNftS4.cache
@@ -450,6 +466,7 @@ files:
450
466
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/Wm/WmtvDDxglSnhmavMeA7WNn7waN3QbagRHeoZHvZJN84.cache
451
467
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/X-/X-qNf54ppJDRBAw7DAsCGjKRMxYoNSukheQbSa8bH3I.cache
452
468
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/X6/X6u2Cul1j8SpBq0WC1S8WhzGiT6f-6L_djUngh_gQfw.cache
469
+ - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/XH/XH9pWZvGgK476BpPGID5z8hjzRmGJjtzV0cHBLXhIKc.cache
453
470
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/XJ/XJRPx7aZ4ajZ72O37hx53ZFkfXSHpDDpCy78LI0leqM.cache
454
471
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/XQ/XQEt3g5gmkRUCX6FcQgFGiKmDzlobkRhbhziRb_zGaQ.cache
455
472
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/Xa/XarP8tNYI88ANDMIKJowbKzLrr5F-ySuKjVJxxYfFQY.cache
@@ -541,9 +558,22 @@ files:
541
558
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/zh/zhmfmdnnow0QqwfT_7IXfN-FAU8qAMm03N7XQjFct6E.cache
542
559
  - test/apps/rails5/tmp/restart.txt
543
560
  - test/run-test.rb
561
+ - test/unit/fixtures/migrate/20170301061420_create_posts.rb
562
+ - test/unit/fixtures/migrate/20170303115054_create_terms.rb
563
+ - test/unit/fixtures/migrate/20170303115135_create_ages.rb
564
+ - test/unit/migration/test_config.rb
565
+ - test/unit/migration/test_copy.rb
566
+ - test/unit/migration/test_create_table.rb
567
+ - test/unit/migration/test_exist.rb
568
+ - test/unit/migration/test_load.rb
569
+ - test/unit/record/test_active_model.rb
570
+ - test/unit/record/test_readers.rb
571
+ - test/unit/record/test_timestamps.rb
572
+ - test/unit/record/test_validators.rb
544
573
  - test/unit/run-test.rb
574
+ - test/unit/test_helper.rb
545
575
  - test/unit/test_load_value_generator.rb
546
- - test/unit/test_record.rb
576
+ - test/unit/test_migrator.rb
547
577
  homepage: https://github.com/ranguba/groonga-client-model
548
578
  licenses:
549
579
  - LGPL-2.1+
@@ -609,6 +639,8 @@ test_files:
609
639
  - test/apps/rails4/test/models/post_test.rb
610
640
  - test/apps/rails4/test/controllers/posts_controller_test.rb
611
641
  - test/apps/rails4/test/test_helper.rb
642
+ - test/apps/rails4/test/tmp/db/groonga/migrate/20170307045825_set_config_alias_column.rb
643
+ - test/apps/rails4/test/generators/migration_generator_test.rb
612
644
  - test/apps/rails4/config/secrets.yml
613
645
  - test/apps/rails4/config/routes.rb
614
646
  - test/apps/rails4/config/boot.rb
@@ -627,8 +659,10 @@ test_files:
627
659
  - test/apps/rails4/config/initializers/wrap_parameters.rb
628
660
  - test/apps/rails4/config/initializers/backtrace_silencers.rb
629
661
  - test/apps/rails4/config/application.rb
662
+ - test/apps/rails4/db/groonga/migrate/20170303120536_create_ages.rb
663
+ - test/apps/rails4/db/groonga/migrate/20170303120527_create_terms.rb
664
+ - test/apps/rails4/db/groonga/migrate/20170303120517_create_posts.rb
630
665
  - test/apps/rails4/db/seeds.rb
631
- - test/apps/rails4/db/schema.grn
632
666
  - test/apps/rails4/README.rdoc
633
667
  - test/apps/rails4/tmp/cache/assets/sprockets/v3.0/Kq/KqE4OB3K1Vvxhxu20J2vygXKabgv57Mk0fYncnRtMVM.cache
634
668
  - test/apps/rails4/tmp/cache/assets/sprockets/v3.0/lL/lL_dWZRBcwCn63yXBT5UzQ-7tnVDndwPc7qVdFgl0tM.cache
@@ -733,6 +767,8 @@ test_files:
733
767
  - test/apps/rails5/test/models/age_test.rb
734
768
  - test/apps/rails5/test/controllers/posts_controller_test.rb
735
769
  - test/apps/rails5/test/test_helper.rb
770
+ - test/apps/rails5/test/tmp/db/groonga/migrate/20170307081511_remove_title_from_posts.rb
771
+ - test/apps/rails5/test/generators/migration_generator_test.rb
736
772
  - test/apps/rails5/config/secrets.yml
737
773
  - test/apps/rails5/config/routes.rb
738
774
  - test/apps/rails5/config/boot.rb
@@ -756,8 +792,10 @@ test_files:
756
792
  - test/apps/rails5/config/initializers/wrap_parameters.rb
757
793
  - test/apps/rails5/config/initializers/backtrace_silencers.rb
758
794
  - test/apps/rails5/config/application.rb
795
+ - test/apps/rails5/db/groonga/migrate/20170303115135_create_ages.rb
796
+ - test/apps/rails5/db/groonga/migrate/20170301061420_create_posts.rb
797
+ - test/apps/rails5/db/groonga/migrate/20170303115054_create_terms.rb
759
798
  - test/apps/rails5/db/seeds.rb
760
- - test/apps/rails5/db/schema.grn
761
799
  - test/apps/rails5/README.md
762
800
  - test/apps/rails5/tmp/restart.txt
763
801
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/0M/0M4bZ4tQh0MQYZMb72U5yr-ELStAsUSb8akkTME9TPM.cache
@@ -821,6 +859,7 @@ test_files:
821
859
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache
822
860
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/lU/lUMILltXZTewdRkBDoaTN8YqP2HTEgG8pRHm-uwXGq8.cache
823
861
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/Ot/OttEu6oltiTErpVGZQJA3vWOb24u3_w28yMEG-Gs0tA.cache
862
+ - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/XH/XH9pWZvGgK476BpPGID5z8hjzRmGJjtzV0cHBLXhIKc.cache
824
863
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/he/heptoj4xFW23bqbGAnQ2g6MsS3OKgswQZOu4EFQA9CE.cache
825
864
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/UA/UA-vI1pm6jjLk0HMTm32_Q8qSf6kl82Zqp4qHppaHTs.cache
826
865
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/oU/oUgVYeNUmvSbf5MWq5a-nknLIlepM8oMGSWyD1J5bzg.cache
@@ -857,6 +896,7 @@ test_files:
857
896
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/Dc/Dcujr9N54L76juPEo4EOYs8buHy8vO2fp-AjoG42-uQ.cache
858
897
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/30/30KT5QAalVCZ4YvGLiiqiwP8Nqarv9udTdHtvrO1tyY.cache
859
898
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/pO/pO91-alTEvoJQwAf99ZO4MPNXR6GFVPYAGKgUwXp4_8.cache
899
+ - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/5C/5Cws9GLWcOju_f3tIpY01qSaj7zkLAU0a2bQmpf7sS8.cache
860
900
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/Lh/LhyvxY5uggGRDtBr5Oh5yXF5Hqhw1P-jwI3t-WALBtA.cache
861
901
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/3F/3Fsw9a9YyB3-WaDSpA1HTGJrWn_7xMLLpUYcNv4f4zs.cache
862
902
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/TJ/TJYJYIRzfatw62Fqd4utqJCOWBRwwxagtiwaal6YgMY.cache
@@ -948,6 +988,19 @@ test_files:
948
988
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/yZ/yZz4rIdiAxAUWJ7Io7t9ZdVN8fjEjgzn8MfNKrBdIR0.cache
949
989
  - test/apps/rails5/tmp/cache/assets/sprockets/v3.0/FT/FTiuNlnEJN59jNEEgEfQazsLhj_YTdIQnCuFC2EM7qw.cache
950
990
  - test/run-test.rb
991
+ - test/unit/migration/test_copy.rb
992
+ - test/unit/migration/test_exist.rb
993
+ - test/unit/migration/test_config.rb
994
+ - test/unit/migration/test_load.rb
995
+ - test/unit/migration/test_create_table.rb
996
+ - test/unit/fixtures/migrate/20170303115135_create_ages.rb
997
+ - test/unit/fixtures/migrate/20170301061420_create_posts.rb
998
+ - test/unit/fixtures/migrate/20170303115054_create_terms.rb
951
999
  - test/unit/run-test.rb
952
- - test/unit/test_record.rb
1000
+ - test/unit/record/test_timestamps.rb
1001
+ - test/unit/record/test_validators.rb
1002
+ - test/unit/record/test_readers.rb
1003
+ - test/unit/record/test_active_model.rb
1004
+ - test/unit/test_migrator.rb
1005
+ - test/unit/test_helper.rb
953
1006
  - test/unit/test_load_value_generator.rb