cassie 1.1.0 → 1.1.1
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,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75bc223d41cf01f427460302177d0d0b5ad5d30d
|
4
|
+
data.tar.gz: 34dc615d58b19bc55c5cee0bde387824375ccffc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0db9476db7746879d6f4118358da035e7ee28feaa5aa9a0055cb14bc93ab9c39d9adc0455df19bda6150588459653728520f3e88376be27e164643fc8d2b0a6
|
7
|
+
data.tar.gz: 1414b64d116c5cce2e301790106e3ec2a645119cd5b332e374ae45d59279322a195ae6d7c56ba9447faa201440453fc8a9b6c34881b9089969eb40c0519f42fa
|
@@ -25,10 +25,26 @@ module Cassie::ConnectionHandler
|
|
25
25
|
@cluster ||= initialize_cluster
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
# @param [String, Symbol] name The keyspace name to search for
|
29
29
|
# @return [Boolean] indicating if the cluster has the keyspace defined
|
30
30
|
def keyspace_exists?(name)
|
31
|
-
|
31
|
+
cluster.keyspaces.map(&:name).any?{|k| k.to_s == name.to_s}
|
32
|
+
end
|
33
|
+
|
34
|
+
# @param [String, Symbol] name The table name to search for. If the name
|
35
|
+
# includes a '.', it is assumed to be a fully qualified table name. Otherwise
|
36
|
+
# the table name will be searched for in the current namespace
|
37
|
+
# @return [Boolean] indicating if the cluster has the keyspace defined
|
38
|
+
def table_exists?(name)
|
39
|
+
keyspaces = {}
|
40
|
+
name = "#{keyspace}.#{name}" unless name.to_s.include? "."
|
41
|
+
matches = name.match(/(.*)\.(.*)/)
|
42
|
+
space = matches[1]
|
43
|
+
table = matches[2]
|
44
|
+
cluster.keyspaces.each {|k| keyspaces[k.name.to_s] = k }
|
45
|
+
|
46
|
+
return false unless keyspaces.has_key?(space)
|
47
|
+
keyspaces[space].tables.map(&:name).any?{|t| t.to_s == table}
|
32
48
|
end
|
33
49
|
|
34
50
|
protected
|
@@ -33,7 +33,7 @@ module Cassie::Schema
|
|
33
33
|
# in the Cassandra database if they don't already exist
|
34
34
|
# @return [void]
|
35
35
|
def initialize_versioning
|
36
|
-
create_schema_keyspace unless
|
36
|
+
create_schema_keyspace unless schema_keyspace_exists?
|
37
37
|
create_versions_table unless versions_table_exists?
|
38
38
|
end
|
39
39
|
|
@@ -109,10 +109,14 @@ module Cassie::Schema
|
|
109
109
|
'0.0.1.0'
|
110
110
|
end
|
111
111
|
|
112
|
-
def
|
112
|
+
def schema_keyspace_exists?
|
113
113
|
Cassie.keyspace_exists?(Cassie::Schema.schema_keyspace)
|
114
114
|
end
|
115
115
|
|
116
|
+
def versions_table_exists?
|
117
|
+
Cassie.table_exists?(qualified_table_name)
|
118
|
+
end
|
119
|
+
|
116
120
|
# load version migration class from disk
|
117
121
|
def load_applied_versions
|
118
122
|
database_versions.tap do |versions|
|
@@ -138,12 +142,6 @@ module Cassie::Schema
|
|
138
142
|
false
|
139
143
|
end
|
140
144
|
|
141
|
-
def versions_table_exists?
|
142
|
-
!!SelectVersionsQuery.new(limit: 1).fetch
|
143
|
-
rescue Cassandra::Errors::InvalidError
|
144
|
-
false
|
145
|
-
end
|
146
|
-
|
147
145
|
def create_schema_keyspace
|
148
146
|
CreateKeyspaceQuery.new(name: Cassie::Schema.schema_keyspace).execute
|
149
147
|
end
|
@@ -157,7 +155,11 @@ module Cassie::Schema
|
|
157
155
|
end
|
158
156
|
|
159
157
|
def uninitialized_message
|
160
|
-
"Cassie Schema Versions table not found at '#{
|
158
|
+
"Cassie Schema Versions table not found at '#{qualified_table_name}'. Enable versioned migration support with `cassie schema:init`."
|
159
|
+
end
|
160
|
+
|
161
|
+
def qualified_table_name
|
162
|
+
"#{schema_keyspace}.#{versions_table}"
|
161
163
|
end
|
162
164
|
end
|
163
165
|
end
|
@@ -11,7 +11,7 @@ namespace :cassie do
|
|
11
11
|
|
12
12
|
query = Cassie::Schema::CreateKeyspaceQuery.new
|
13
13
|
query.name = name
|
14
|
-
if
|
14
|
+
if replication = Cassie.configuration[:replication]
|
15
15
|
query.replication_class = replication[:class] if replication.has_key?(:class)
|
16
16
|
query.replication_factor = replication[:replication_factor] if replication.has_key?(:replication_factor)
|
17
17
|
end
|
data/lib/cassie/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cassie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Prothro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cassandra-driver
|