作者sean72 (.)
看板Python
标题Re: [问题] Django migrate
时间Thu Aug 18 13:21:51 2016
※ 引述《sean72 (.)》之铭言:
: 标题: [问题] Django migrate
: 时间: Thu Aug 18 11:34:27 2016
:
: 问题:migrate之後不会产生table
:
: 执行 makemigrations 然後 migrate之後
: 发现table会有一个前缀词
: http://goo.gl/yJjtBC
: 於是手动把migrations folder删掉 手动drop table
:
: 加入met class options之後
: 再次执行makemigrations 和 migrate
: 资料库里面却不会产生table 我也没看到 console有任何err
: 请问有人碰过这问题吗?
:
: 谢谢
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 172.89.32.145
: ※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1471491270.A.F6E.html
: 推 billy0131: migrate过了以後光drop table不够 08/18 13:11
: → billy0131: django有存一个table叫django_migration存你跑过的 08/18 13:12
: → billy0131: migration,那里的状态不对的话会有问题 08/18 13:12
: → billy0131: 像这个case应该先migrate回之前的版本再删migrations 08/18 13:14
UPDATE
db is mySQL
after I updated PyMySQL to latest 0.7.6, everything works fine now
Thank you everyone
~~
嗯 我在stack overflow有看到这个回应 也尝试过了 无效
我开了一个新的DB来测验
只要有设定
class Meta:
managed = False
db_table = 'mytest'
就算是全新的DB也不会产生 mytest table
但是如果我不加db_table
就可以正常产生 mytest_mytest table
django version 1.8.3
这是不是一个bug ...
也许我直接升级 django 1.9 or 1.10试试看
~~
1.9 or 1.10 不支援python 3.3了...
把 db_table这个option拿掉 忍受丑丑的prefix ex: mytest_mytest
一切作用就正常了
若是硬要留着 db_table = mytest
这样连基本的table 变动後 makemigration 都会说 no change detected
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 172.89.32.145
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1471497713.A.E67.html
※ 编辑: sean72 (172.89.32.145), 08/18/2016 13:40:34
※ 编辑: sean72 (172.89.32.145), 08/18/2016 14:10:19
※ 编辑: sean72 (172.89.32.145), 08/18/2016 14:21:00
1F:推 a0919610611: 我1.9 用mysqlclient 能解决中文也没遇到啥问题过 08/18 15:31
2F:→ a0919610611: py3.5 08/18 15:31
3F:推 billy0131: 不会产生新的table应该跟managed=False有关 08/18 23:20
4F:→ billy0131: 要不要拿掉试试看? 我在1.8跟1.9加db_table都可侦测到 08/18 23:21