Remove CreateSchema command
In 2.1 and later the preferred approach is to use the init command,
as it performs a lot more for the administrator. Unlike the older
CreateSchema, init takes care of creating the initial site directory
and writing a simple configuration to get the server running.
Change-Id: Ia15de6c7cf8383011947c5b64617dae3ced33b16
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/Documentation/pgm-index.txt b/Documentation/pgm-index.txt
index 91e465a..ad54e09 100644
--- a/Documentation/pgm-index.txt
+++ b/Documentation/pgm-index.txt
@@ -21,9 +21,6 @@
version::
Display the release version of Gerrit Code Review.
-CreateSchema::
- Initialize a new database schema.
-
GERRIT
------
Part of link:index.html[Gerrit Code Review]
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/CreateSchema.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/CreateSchema.java
deleted file mode 100644
index 267f94a..0000000
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/CreateSchema.java
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright (C) 2008 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.gerrit.pgm;
-
-import static com.google.gerrit.pgm.util.DataSourceProvider.Context.SINGLE_USER;
-
-import com.google.gerrit.pgm.util.SiteProgram;
-import com.google.gerrit.reviewdb.ReviewDb;
-import com.google.gerrit.reviewdb.SchemaVersion;
-import com.google.gerrit.reviewdb.SystemConfig;
-import com.google.gwtorm.client.SchemaFactory;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
-
-import java.util.Collections;
-
-/**
- * Creates the Gerrit 2 database schema.
- */
-public class CreateSchema extends SiteProgram {
- @Inject
- private SystemConfig systemConfig;
-
- @Inject
- private SchemaFactory<ReviewDb> schema;
-
- @Override
- public int run() throws Exception {
- final Injector injector = createDbInjector(SINGLE_USER);
- injector.injectMembers(this);
-
- final SchemaVersion sv;
- ReviewDb db = schema.open();
- try {
- sv = db.schemaVersion().get(new SchemaVersion.Key());
- } finally {
- db.close();
- }
- if (sv == null) {
- System.err.println("Schema failed to initialize");
- return 1;
- }
-
- if (!getSitePath().getAbsolutePath().equals(systemConfig.sitePath)) {
- // If the site path in the database doesn't match our command
- // line argument, update it.
- //
- db = schema.open();
- try {
- systemConfig = db.systemConfig().get(new SystemConfig.Key());
- systemConfig.sitePath = getSitePath().getAbsolutePath();
- db.systemConfig().update(Collections.singleton(systemConfig));
- } finally {
- db.close();
- }
- }
-
- System.out.println("Gerrit Code Review initialized.");
- System.out.println("Current settings:");
- System.out.println(" schema version = " + sv.versionNbr);
- System.out.println(" admin group = " + systemConfig.adminGroupId);
- System.out.println(" site_path = " + systemConfig.sitePath);
- System.out.println();
- return 0;
- }
-}