【发布时间】:2015-10-03 14:11:34
【问题描述】:
我正在使用 Django 的 Mercurial 项目中工作。在代码中(settings.py下)有:
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'foo',
'USER': 'bar',
'PASSWORD': 'baz',
'HOST': '',
'PORT': '',
'OPTIONS': { 'init_command': 'SET storage_engine=INNODB;' },
}
}
#Use a local mysql db for development
if IN_DEVELOPMENT:
DATABASES["default"] = {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'foo',
'USER': 'bar',
'PASSWORD': 'baz',
'HOST': '',
'OPTIONS': { 'init_command': 'SET storage_engine=INNODB;' },
}
有人告诉我,我可以简单地将 if IN_DEVELOPMENT 块中的 mysql 替换为 sqlite3(因为我没有 mySQL 并且我尝试安装它没有成功)。这会在我加载 any 页面时导致错误,我可以通过注释掉第二个 OPTIONS 行来解决该错误。现在我可以加载完全依赖静态数据的页面了。但是当我尝试访问一个表时,我得到了errors like this(尽管“没有这样的表”的名称各不相同)。
我必须从项目中重新创建数据库表吗?是否有init_command(如果它们不存在,我假设它们会创建表?)我可以与sqlite3 一起使用吗?除了下载 MySQL-python 之外,我还有什么其他的行动方案吗(这会有所帮助吗?)
【问题讨论】:
-
不要发布保管箱链接...因为它们在登录之后
-
对不起,谢谢。更新链接
-
尝试删除文件
foo...我认为只有当数据库不存在时django才会自动重建你的表(或者你可能需要运行admin.py syncdb或其他任何东西(我不使用django 够清楚)
标签: python mysql django sqlite