Ruby on rails 从MySQL到Postgres的Rails数据库
我使用MySQL开发了一个ROR应用程序,现在希望它改用Postgres 我已经使用Navicat将MySQL数据库的数据传输到Postgres,并使用Postgres环境设置更新了database.yml 当我运行ROR应用程序并尝试登录或创建用户时,会出现以下错误: RuntimeError:列“id”中的错误C23502 Mnull值违反了非空约束FexecMain.c L2229 RExecConstraints:INSERT INTO“users”Ruby on rails 从MySQL到Postgres的Rails数据库,ruby-on-rails,Ruby On Rails,我使用MySQL开发了一个ROR应用程序,现在希望它改用Postgres 我已经使用Navicat将MySQL数据库的数据传输到Postgres,并使用Postgres环境设置更新了database.yml 当我运行ROR应用程序并尝试登录或创建用户时,会出现以下错误: RuntimeError:列“id”中的错误C23502 Mnull值违反了非空约束FexecMain.c L2229 RExecConstraints:INSERT INTO“users” 谢谢你听起来你的MySQL数据库中有
谢谢你听起来你的MySQL数据库中有一个自动递增的
id
列。这是一个非ANSI标准的功能,所以它不一定在其他数据库上工作
要在Postgres上执行同样的操作,您可以使用列类型(或等效的显式序列)。如何解决此问题,我需要更改代码中的内容还是数据库中的内容,还是两者都需要?谢谢您此操作:ALTER TABLE users ALTER column id set DEFAULT NEXTVAL('users_id_seq'))