Похоже, что вы подделали миграцию 0006 вперед, вы должны также подделать ее назад:
manage.py migrate --fake yourapp 0005
Это установит текущую миграцию на 0005.
По-видимому, вы хотите вернуться обратно к 0002:
manage.py migrate --fake yourapp 0002
, а затем начать заново с 0003:
manage.py migrate yourapp
Система сборки GNU выполняет не используйте каталоги obj /
, поэтому автоинструменты не предназначены для поддержки этого.
Однако я могу придумать два способа обойти это.
Как установщик, вы можете собрать любой пакет из исходного каталога, набрав
mkdir builddir
cd builddir
../path-to-sourcedir/configure
make
. Затем любой выходной файл будет создан в каталоге builddir /
. Эта схема компиляции позволяет скомпилировать исходный код, хранящийся в каталоге только для чтения (это имело больше смысла в те годы, когда FSF распространял компакт-диски с несжатым исходным кодом), или скомпилировать один и тот же исходный код с разными настройками (или даже для разных архитектур).
Как упаковщик, единственный способ заставить свой пакет собирать все в obj /
- это поместить свой Makefile.am
в obj /
и объявите там все свои правила сборки. Это будет означать, что obj / Makefile.am
будет выглядеть так:
bin_PROGRAMS = foo bar
foo_SOURCES = ../src/foo/main.c ../src/foo/help.c ../src/foo/list.c
bar_SOURCES = ../src/bar/bar.c
и т. Д. Я помню, что 10 лет назад POSE, эмулятор Palm OS, использовал настройку, подобную описанной выше. Я не рекомендую его, так как он не обслуживается. На самом деле лучше придерживаться философии инструментов и использовать системы сборки, которые работают как другие пакеты GNU.
Для введения в систему сборки GNU я рекомендую прочитать введение в руководство по Automake: единственный способ заставить свой пакет собирать все в obj /
- это поместить ваш Makefile.am
в obj /
и объявить там все свои правила сборки . Это будет означать, что obj / Makefile.am
будет выглядеть так:
bin_PROGRAMS = foo bar
foo_SOURCES = ../src/foo/main.c ../src/foo/help.c ../src/foo/list.c
bar_SOURCES = ../src/bar/bar.c
и т. Д. Я помню, что 10 лет назад POSE, эмулятор Palm OS, использовал настройку, подобную описанной выше. Я не рекомендую его, так как он не обслуживается. На самом деле лучше придерживаться философии инструментов и использовать системы сборки, которые работают как другие пакеты GNU.
Для введения в систему сборки GNU я рекомендую прочитать введение в руководство по Automake: единственный способ заставить свой пакет собирать все в obj /
- это поместить ваш Makefile.am
в obj /
и объявить там все свои правила сборки . Это будет означать, что obj / Makefile.am
будет выглядеть так:
bin_PROGRAMS = foo bar
foo_SOURCES = ../src/foo/main.c ../src/foo/help.c ../src/foo/list.c
bar_SOURCES = ../src/bar/bar.c
и т. Д. Я помню, что 10 лет назад POSE, эмулятор Palm OS, использовал настройку, подобную описанной выше. Я не рекомендую его, так как он не обслуживается. На самом деле лучше придерживаться философии инструментов и использовать системы сборки, которые работают как другие пакеты GNU.
Для введения в систему сборки GNU я рекомендую прочитать введение в руководство по Automake: Это будет означать, что obj / Makefile.am
будет выглядеть так:
bin_PROGRAMS = foo bar
foo_SOURCES = ../src/foo/main.c ../src/foo/help.c ../src/foo/list.c
bar_SOURCES = ../src/bar/bar.c
и т. Д. Я помню, что 10 лет назад POSE, эмулятор Palm OS, использовал настройку, подобную описанной выше. Я не рекомендую его, так как он не обслуживается. На самом деле лучше придерживаться философии инструментов и использовать системы сборки, которые работают как другие пакеты GNU.
Для введения в систему сборки GNU я рекомендую прочитать введение в руководство по Automake: Это будет означать, что obj / Makefile.am
будет выглядеть так:
bin_PROGRAMS = foo bar
foo_SOURCES = ../src/foo/main.c ../src/foo/help.c ../src/foo/list.c
bar_SOURCES = ../src/bar/bar.c
и т. Д. Я помню, что 10 лет назад POSE, эмулятор Palm OS, использовал настройку, подобную описанной выше. Я не рекомендую его, так как он не обслуживается. На самом деле лучше придерживаться философии инструментов и использовать системы сборки, которые работают как другие пакеты GNU.
Для введения в систему сборки GNU я рекомендую прочитать введение в руководство по Automake: http://www.gnu.org/software/automake/manual/automake.html#GNU-Build-System
Особенно раздел вариантов использования. Если вас не интересуют эти варианты использования, я думаю, что лучше всего НЕ использовать Automake и создавать свои собственные файлы Makefile. В противном случае вы будете продолжать пытаться заставить Automake делать то, для чего он не предназначен, и вы быстро возненавидите это.
РЕДАКТИРОВАТЬ 26.08.2013 : Обратите внимание, что проект Automake, использующий подкаталог с именем с использованием obj /
, не переносится в BSD make.
Самый простой способ сделать это - установить "libdir" в каталог, в котором вы хотите, чтобы эти файлы помещались, и использовать цель установки, чтобы скопировать их туда.
Это могло бы тем не менее, предотвратить использование цели install в обычном понимании.