Create _global_changes database on cluster setup
diff --git a/src/setup.erl b/src/setup.erl
index 95b2a41..1943835 100644
--- a/src/setup.erl
+++ b/src/setup.erl
@@ -43,16 +43,20 @@
{_,[]} -> no;
{_,_} -> ok
end.
+
+
+cluster_system_dbs() ->
+ ["_users", "_replicator", "_metadata", "_global_changes"].
has_cluster_system_dbs() ->
- % GET /_users /_replicator /_metadata
+ has_cluster_system_dbs(cluster_system_dbs()).
- case catch {
- fabric:get_db_info("_users"),
- fabric:get_db_info("_replicator"),
- fabric:get_db_info("_metadata")} of
- {{ok, _}, {ok, _}, {ok, _}} -> ok;
+has_cluster_system_dbs([]) ->
+ ok;
+has_cluster_system_dbs([Db|Dbs]) ->
+ case catch fabric:get_db_info(Db) of
+ {ok, _} -> has_cluster_system_dbs(Dbs);
_ -> no
end.
@@ -115,9 +119,7 @@
finish_cluster_int(ok) ->
{error, cluster_finished};
finish_cluster_int(no) ->
- % create clustered databases (_users, _replicator, _metadata)
- Databases = ["_users", "_replicator", "_metadata"],
- lists:foreach(fun fabric:create_db/1, Databases).
+ lists:foreach(fun fabric:create_db/1, cluster_system_dbs()).
add_node(Options) ->
diff --git a/test/t.sh b/test/t.sh
index f6e0422..62abb61 100755
--- a/test/t.sh
+++ b/test/t.sh
@@ -49,10 +49,12 @@
curl a:b@127.0.0.1:15984/_users
curl a:b@127.0.0.1:15984/_replicator
curl a:b@127.0.0.1:15984/_metadata
+curl a:b@127.0.0.1:15984/_global_changes
# Show system dbs exist on node B
curl a:b@127.0.0.1:25984/_users
curl a:b@127.0.0.1:25984/_replicator
curl a:b@127.0.0.1:25984/_metadata
+curl a:b@127.0.0.1:25984/_global_changes
echo "YAY ALL GOOD"