我使用MySQL开发了一个ROR应用程序,现在希望它使用Postgres。
我使用Navicat将MySQL数据库数据传输到Postgres,并使用Postgres环境设置更新了database.yml。
当我运行ROR应用程序并尝试登录或创建用户时,我收到以下错误:
RuntimeError:ERROR C23502列“id”中的Mnull值违反非空约束FexecMain.c L2229 RExecConstraints:INSERT INTO“users
谢谢
答案 0 :(得分:2)
听起来你的MySQL数据库中有一个AUTO_INCREMENT id
列。这是一个非ANSI标准的功能,因此它不一定适用于其他数据库。
要在Postgres上执行相同操作,您可以使用SERIAL列类型(或等效的显式SEQUENCE)。