Проблема базы данных в Django: не может сбросить из-за зависимостей

Самый легкий путь, поскольку я вижу его, состоит в том, чтобы использовать для цикла, который называет второй пакетный файл для обработки, передавая что второй файл базовое имя.

Согласно для/? справка, базовое имя может быть извлечено с помощью остроты ~n опция. Так, основной сценарий читал бы:

for %%f in (*.in) do call process.cmd %%~nf

Затем в process.cmd, предполагают, что %0 содержит базовое имя и действие соответственно. Например:

echo The file is %0
copy %0.in %0.out
ren %0.out monkeys_are_cool.txt

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

РЕДАКТИРОВАНИЕ: это фантастически! Я так или иначе пропустил страницу в документах, которые показали, что Вы могли выполнить в многострочных блоках ДЛЯ цикла. Я собираюсь пойти, должны возвратиться и переписать некоторые пакетные файлы теперь...

16
задан Richard 9 November 2009 в 22:14
поделиться

2 ответа

Проблема DROP TABLE CASCADE заключается в том, что он просто удаляет внешние ключи из связанных таблиц - после syncdb это отношение не воссоздается. Я не нашел способа воссоздать таблицы конкретной модели, поэтому я перезагружаю все приложение, воссоздав схему:

  DROP SCHEMA public CASCADE;
  CREATE SCHEMA "public" AUTHORIZATION "owner of database";

Это должно работать только с базой данных, поддерживающей схему, например postgresql

2
ответ дан 30 November 2019 в 23:05
поделиться

Я использую небольшой трубопровод UNIX, который добавляет каскад на все операторы Drop.

python manage.py sqlreset myapp | sed 's/DROP TABLE \(.*\);/DROP TABLE \1 CASCADE;/g' | \
psql --username myusername mydbname
4
ответ дан 30 November 2019 в 23:05
поделиться
Другие вопросы по тегам:

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