2012-09-05 1 views
0

У меня есть база данных в PostgreSql с именем «tests». И я хочу написать сценарий sh, чтобы синхронизировать его с django, запускать тесты и затем отбрасывать все таблицы. Может ли кто-нибудь предложить правильное решение? Немного сценария:Django postgresql drop all tables and syncdb

DJANGO_DATABASE='tests' bin/django-admin.py syncdb 
bin/django-admin.py test MyApplication #tests will use "tests" db 
sudo su postgres 
psql tests 
drop schema public; #i think i can drop schema and then syncdb.. or i'm wrong. 
exit 

ответ

3

Насколько я знаю, django can do this for you. < - устаревший

Собственно, это немного изменилось :). Но это все-таки можно:

#!/usr/bin/env sh 
./manage.py sqlclear | ./manage.py dbshell 
./manage.py syncdb 

это будет труба, выход sqlclear управления-команды в dbshell. , который в свою очередь выполнит его.

sqlclear выведет DROP TABLE ... sql-statements.

+0

Отлично! Можете ли вы объяснить, как это сделать? – jononomo

+0

посмотрите, на мой отредактированный ответ :) –