Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从MySQL到Postgres的Rails数据库_Ruby On Rails - Fatal编程技术网

Ruby on rails 从MySQL到Postgres的Rails数据库

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开发了一个ROR应用程序,现在希望它改用Postgres

我已经使用Navicat将MySQL数据库的数据传输到Postgres,并使用Postgres环境设置更新了database.yml

当我运行ROR应用程序并尝试登录或创建用户时,会出现以下错误:

RuntimeError:列“id”中的错误C23502 Mnull值违反了非空约束FexecMain.c L2229 RExecConstraints:INSERT INTO“users”


谢谢你

听起来你的MySQL数据库中有一个自动递增的
id
列。这是一个非ANSI标准的功能,所以它不一定在其他数据库上工作


要在Postgres上执行同样的操作,您可以使用列类型(或等效的显式序列)。

如何解决此问题,我需要更改代码中的内容还是数据库中的内容,还是两者都需要?谢谢您此操作:ALTER TABLE users ALTER column id set DEFAULT NEXTVAL('users_id_seq'))