Механизм приложения: Как “сбросить” хранилище данных?

Это делается с помощью инструментов Tidyverse, таких как pipe%>% и dplyr:

Разделяет столбец кода на два с указанным разделителем.

Поскольку «\» - это специальный символ в регулярном выражении, вы должны экранировать каждый \, который вы хотите найти, с другим.

Распространение преобразует его из высокой формы в широкую форму, как вам нужно.

library(dplyr)
df %>% 
  separate(code, into = c("colName", "value"), sep = "\\\\\\\\") %>% 
  spread(colName, value)
29
задан Dan McGrath 2 September 2016 в 22:49
поделиться

9 ответов

Нет встроенного в команде, эквивалентной DROP TABLE или TRUNCATE TABLE в SQL. Вам просто нужно создать страницу «удалить все» в своем приложении, а затем повторно вызывать эту страницу с помощью скрипта. На этой странице вы хотите удалить столько сущностей, сколько вы можете разумно ожидать, что они закончатся до истечения времени ожидания запроса. Точный код зависит от того, повторно используя JDO / JPA или API низкого уровня. (низкоуровневый API будет быстрее, потому что вы можете использовать пакетные операции.)

Этот предыдущий вопрос SO почти такой же, только для Python

16
ответ дан 28 November 2019 в 00:54
поделиться

в моем случае (работа с плагином eclipse и игровой платформой) мне пришлось остановить приложение, удалить файл / apps / crud-gae / tmp / datastore и затем перезапустить приложение

, которое оно работало для меня. .. работает на месте, конечно ...

0
ответ дан opensas 28 November 2019 в 00:54
поделиться

Если вы используете maven в своем проекте, вы можете просто выполнить «mvn clean install». Это, конечно, сбросит хранилище данных локально.

1
ответ дан Dennis De Reyer 28 November 2019 в 00:54
поделиться

Просто выполните запрос без фильтра, чтобы получить все объекты и удалить их один за другим.

import javax.servlet.http.*;

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;

public class MyServlet extends HttpServlet {
        public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {

        DatastoreService datastore = 
                    DatastoreServiceFactory.getDatastoreService();

    Query mydeleteq = new Query();
    PreparedQuery pq = datastore.prepare(mydeleteq);
    for (Entity result : pq.asIterable()) {
        datastore.delete(result.getKey());      
    }   
}
9
ответ дан Ismael Abreu 28 November 2019 в 00:54
поделиться

Извините, что разбудил эту тему, но на всякий случай я хотел бы добавить подсказку для таких нубов, как я (наконец-то нашел ответ в документации Google):

Если вы хотите сбросить Локальное хранилище данных (например, во время разработки с использованием eclipse) все сразу, выключите сервер, найдите файл ' local_db.bin ' в вашем проекте (должно быть в WEB-INF / appengine) или каталог), и удалите его.

Хорошо работает с Java, еще не пробовал с Python.

++

30
ответ дан Kohistan 28 November 2019 в 00:54
поделиться

извините, что так поздно, но я просто пытался сделать то же самое ...

Я вошел в свою учетную запись (appengine.google.com) и нашел вариант для просмотра хранилища данных через служебную программу администратора (хранилище данных / просмотрщик данных) ... которая позволяет создавать / обновлять / удалять.

4
ответ дан 28 November 2019 в 00:54
поделиться

Удалить все (или часть) данных ваших приложений теперь является частью консоли администратора

, чтобы включить эту функциональность, просто включить следующую встроенную в своем файле App.yaml:

builtins:
- datastore_admin: on

Добавление этих строк в приложение. YAML позволяет странице «Admin DataStore» в консоли администратора приложения

2
ответ дан 28 November 2019 в 00:54
поделиться

Согласно документам GAE вы можете удалить несколько объектов в JDO, вызвать метод deletePersistentAll (...) PersistenceManager с коллекцией объектов.

PersistenceManager pm = PMF.get().getPersistenceManager();

Query query = pm.newQuery("select from " + Your.class);

List<Your> objs = (List<Your>) query.execute();

pm.deletePersistentAll(objs);
2
ответ дан 28 November 2019 в 00:54
поделиться

Очистка хранилища данных сервера разработки

Веб-сервер разработки использует локальную версию хранилища данных для тестирования вашего приложения, используя временные файлы. Данные сохраняются до тех пор, пока существуют временные файлы, и веб-сервер не сбрасывает эти файлы, если вы не попросите его сделать это.

Если вы хотите, чтобы сервер разработки очищал свое хранилище данных перед запуском, используйте параметр --clear_datastore при запуске сервера:

dev_appserver.py --clear_datastore helloworld/

Использование хранилища данных

16
ответ дан 28 November 2019 в 00:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: