CentOS7 升级 sqlite3


起步

运行 Django2.2 时,出现了报错:

django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

查看系统的sqlite版本:

# sqlite3 -version
3.7.17 2013-05-20 00:56:22

环境所需,不升级无法运行 Django。


linux 清理过期文件


起步

要清理过期的临时文件,一般用 find 命令找出然后删除:

find /var/runtime/log -name "*.log" -type f -mtime +30 -exec rm -f {} \;    # \;不能省,{} 和 \;之间有空格

配合 crontab 就能实现定期清理的功能。

现在有一种更优雅的方式。


数据库保存时间是用时间戳还是日期格式?


起步

这是一个架构权衡的问题。它不是从性能上去考虑的。时间戳到日期的互转只是简单的计算,消耗的计算量远远达不到其他地方。Mysql 内置了 timestampdatetime 两个类型供开发者选择。

这种类型要选哪个比较合适?这个时候首先要问自己,是不是要保存 1970 年以前的时间,如果是,那么就必须采用 datetime 了,没有其他选择。

这点以外,我更喜欢用时间戳,因为它能避免很多日期类型带来的问题。


Django 设置多环境配置文件载入


起步

通常,针对不同的开发环境,需要不同的配置保证程序可运行且不干扰。单个 settings.py 文件就很难满足需求,需要将他拆分为多个文件,根据特定环境载入不同的配置文件。一种简单的划分就是分为 4 个文件:

__init__.py
base.py
dev.py
prod.py