今天我开始了我的 postgresql 的第一步,因为它被 Django 团队推荐。
我遇到了几个问题,我耐心地一一解决。
1)在 postgresql 下创建表需要以不同的操作系统登录名登录,您甚至不知道密码。很好,我找到了解决方案并创建了数据库。
2)运行syncdb后,不能像这样简单地执行一个简单的insert sql:
INSERT INTO App_contacttype (contact_type, company_id) VALUES ('Buyer', 1),('Seller', 1);
由于 Django 使用引号创建它,表变得区分大小写,因此它必须是这样的:
INSERT INTO "App_contacttype" (contact_type, company_id) VALUES ('Buyer', 1),('Seller', 1);
但问题似乎永远不会结束。现在突然插入脚本的执行说
ERROR: value too long for type character varying(40)
SQL state: 22001
在 MySQL 中,这没有问题。我不知道,现在我有点冷,也许我应该坚持使用 MySQL。
我考虑使用 postgresql 的唯一原因是一些研究表明 postgresql 比 MySQL 对更改模式的支持要好得多。
但是考虑到http://south.aeracode.org/会消除同步模式的所有痛苦,无论底层数据库是什么,我都需要担心模式变化吗?