cassandra_migrations 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTkyY2FiYmVjMzk2NGFlYzczZjJkYjE4MDE2MDc4NTM4ZmE5MzBlYg==
4
+ MTU2OWUzZTUzYjcxMDk1NzMxNjMwZWI4ZjE2NzY0YjcxZjc1ODE0Mw==
5
5
  data.tar.gz: !binary |-
6
- Y2UxMzZlYWI3YjcwYzJjYTkyYjQ1ZmJkODg5YzBhYTRlOWRkYzVmZg==
6
+ M2IyMWVkNTc1YjdkMTNiZjZmMjE1YTBkZDdhNzA1ZGVlNTliZWMwYw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YmU2YmZhMmVhYmM3ZjU3MzBmOWMxNjRhYmI0ZjBhNTU0NTUxNjJlZmExN2U5
10
- MGM5ZTk5ZWU0ZGIwY2FiZTFiZGQ2NTZjYzNiMzlmNmY2YWIwZjc4OWM3OWNl
11
- MWEyMWNlN2IxOWY0ZDJmZjkxYTk0ZGMxNDAxNjg3MTk3NTdlZDk=
9
+ NzQxOWNkN2IyZGVlMTgxZWIwMzI3MzYxOTQ0MGEyNDM3MGQyMWU2YWEwZGI0
10
+ ZjY3ZGIyMzY2NTc2ZGRjMjVmMzJmODkyODMxNzZhNmU3ZTQ0ZTIyYmJiMWQ0
11
+ NTI2OTFhOTljOWVmZjE1MmFjOTIyNzNiYWQ0Y2FlYzUzNjNhMjM=
12
12
  data.tar.gz: !binary |-
13
- OGI5YmNkZTE5ZjJjZjIxMzk2ZjJkZDBkMTY5ZDgzYzc1YWRlMGUzZGM5NzUw
14
- ZTYyNmUzZDY2NWU5NGVmOTQwOGZkOTBmYmY0YjlmNjQyY2M1OGRmOWNhYmM5
15
- YWFiMmU1MzhiOTFkYTkxMDNlOGVjZGVkNzQ1ZjcyNmMyYTEzZDU=
13
+ Yzg3NzE4YTEzZmZiYzMyOTI3NzQ2NzEyMjAzYTdlODQwMGU0ZThiNWJhOGU1
14
+ NGU0ZGNhYjMwOWMwMjk0NTczODRiNWI1ZWNlMzllZWJhMzAxOGY2YzYwZjdh
15
+ MzBhZDAzNDgyNzhjNjBiZGM3NDU4NzM5MGYyNzBjMDk2ZDdhZGU=
@@ -16,6 +16,7 @@ module CassandraMigrations
16
16
  def initialize()
17
17
  @columns_name_type_hash = {}
18
18
  @primary_keys = []
19
+ @partition_keys = []
19
20
  end
20
21
 
21
22
  def to_create_cql
@@ -29,8 +30,11 @@ module CassandraMigrations
29
30
  raise Errors::MigrationDefinitionError, 'No columns defined for table.'
30
31
  end
31
32
 
32
- if !@primary_keys.empty?
33
- cql << "PRIMARY KEY(#{@primary_keys.join(', ')})"
33
+ key_info = (@primary_keys - @partition_keys)
34
+ key_info = ["(#{@partition_keys.join(', ')})", *key_info] if @partition_keys.any?
35
+
36
+ if key_info.any?
37
+ cql << "PRIMARY KEY(#{key_info.join(', ')})"
34
38
  else
35
39
  raise Errors::MigrationDefinitionError, 'No primary key defined.'
36
40
  end
@@ -152,7 +156,15 @@ module CassandraMigrations
152
156
 
153
157
  @primary_keys = keys.flatten
154
158
  end
155
-
159
+
160
+ def define_partition_keys(*keys)
161
+ if !@partition_keys.empty?
162
+ raise Errors::MigrationDefinitionError, 'Partition key defined twice for the same table.'
163
+ end
164
+
165
+ @partition_keys = keys.flatten
166
+ end
167
+
156
168
  private
157
169
 
158
170
  def column_type_for(ruby_type, options={})
@@ -19,6 +19,7 @@ module CassandraMigrations
19
19
  def create_table(table_name, options = {})
20
20
  table_definition = TableDefinition.new
21
21
  table_definition.define_primary_keys(options[:primary_keys]) if options[:primary_keys]
22
+ table_definition.define_partition_keys(options[:partition_keys]) if options[:partition_keys]
22
23
 
23
24
  yield table_definition if block_given?
24
25
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cassandra_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henrique Gubert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-27 00:00:00.000000000 Z
11
+ date: 2014-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cql-rb