Я не вижу API для переименования базы данных CouchDB или вариант в Futon, чтобы сделать то же самое.
Не удалось выполнить повторную копирование в другую базу данных, а затем удалить оригинал, есть ли одноэтапный способ переименования базы данных?
Я не вижу API для переименования базы данных CouchDB или вариант в Futon, чтобы сделать то же самое.
Не удалось выполнить повторную копирование в другую базу данных, а затем удалить оригинал, есть ли одноэтапный способ переименования базы данных?
Добавление к тому, что сказал Доминик и PPPaul...
Переименование файла - это абсолютно путь (убедитесь, что вы переименовали его как одного и того же пользователя, а не случайно изменили право собственности на root
или что-то еще).
Это совершенно безопасно для полноценной рабочей среды, да. Одним из многих преимуществ API HTTP/REST является то, что нет адаптеров с состояниями, связанными с БД. Каждый запрос представляет собой новый запрос. Таким образом, в основном первый запрос к CouchDB после переименования будет завершен, сможет использовать новое имя.
Но подождите, там еще!
Самое смешное, что даже после переименования сервер CouchDB по-прежнему имеет открытый файл-дескриптор самого файла (на который не влияет переименование inode), поэтому до тех пор, пока сервер CouchDB не будет перезагружен, все еще можно получить доступ к БД, используя старое имя.
В комментариях замечание ATfPT, видимо, имя БД должно начинаться с строчной буквы, иначе оно не будет отображаться в Futon.
Еще одна вещь, которую я помнил: чтобы узнать, где находятся файлы DB, запустите это: couch-config --db-dir
Если у вас есть доступ к самому файлу базы данных (расположенный в /var/lib/couchdb
в зависимости от вашей установки), вы можете просто переименовать его.
Насколько мне известно, это будет эффективно "переименовывать" базу данных. Я бы удостоверился, что сервер не работает, когда вы выполняете эту операцию, на всякий случай.
Я использую couchdb 2, я предполагаю, что предыдущие ответы относятся к более старой версии, потому что файлы базы данных не указаны в папке /var/lib/couchdb, найденной с помощью команды "couch-config -db-dir".
Самый простой способ, которым я следую, - использовать futon и реплицировать db, который вы хотите переименовать, на новое желаемое имя, а затем удалить старую базу данных.
Предполагая, что вы не хотите повреждать свои базы данных, переименуйте файлы .couch, когда CouchDB не запущен.