mysql无法与外部健形成约束_MySQL Rails:错误:150“外键约束不正确”

我试图迁移我的Rails MySQL数据库,我收到以下错误:

ActiveRecord :: StatementInvalid:Mysql2 :: Error:无法创建表development.comments(错误:150“外键约束形成错误”):CREATE TABLE注释(id int AUTO_INCREMENT PRIMARY KEY,comment varchar(255),user_id int,post_id int,created_at datetime NOT NULL,updated_at datetime NOT NULL,INDEX index_comments_on_user_id(user_id),INDEX index_comments_on_post_id(post_id),CONSTRAINT fk_rails_03de2dc08c FOREIGN KEY(user_id)REFERENCES users(id),CONSTRAINT fk_rails_2fd19c0db7 FOREIGN KEY(post_id)REFERENCES posts( id))ENGINE = InnoDB

以下是我的迁移:

class CreateUsers < ActiveRecord::Migration[5.0]

def change

create_table :users do |t|

t.string :first_name

t.string :last_name

t.string :linkedin_username

t.string :facebook_username

t.string :facebook_id

t.string :profile_image

t.string :title_image

t.string :connection

t.boolean :team

t.boolean :active

t.boolean :admin

t.string :email

t.string :password_digest

t.timestamps

end

end

end

class CreateComments < ActiveRecord::Migration[5.0]

def change

create_table :comments do |t|

t.string :comment

t.references :user, foreign_key: true

t.references :post, foreign_key: true

t.timestamps

end

end

end

class CreateCategories < ActiveRecord::Migration[5.0]

def change

create_table :categories do |t|

t.string :name

t.text :description

t.timestamps null: false

end

end

end

class CreatePosts < ActiveRecord::Migration[5.0]

def change

create_table :posts do |t|

t.string :title

t.string :description

t.references :category, foreign_key: true

t.references :user, foreign_key: true

end

end

end

如果有人能在这里给我一个想法,我将非常感激 . 我一直在谷歌搜索解决方案一段时间,但无法找到与Rails相关的任何内容 . 谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

按角度构建切变矩阵

切变是坐标系的变换&#xff0c;非均匀的拉伸。切变时候&#xff0c;角度变化&#xff0c;但是面积或体积不变。也可以理解为坐标轴间的角度变化&#xff0c;造成的扭曲。 如下图&#xff0c;这是x坐标根据y坐标的切变&#xff0c;机器人的y坐标没有变化&#xff0c;只有x坐标变…

java 语法_Java基础语法

标识符定义给包,类,方法,变量起名字的符号。组成规则标识符由字母、数字、下划线、美元符号组成。命名原则:见名知意包名&#xff1a;全部小写,多级包用.隔开。举例&#xff1a;com.jourwon类、接口&#xff1a;一个单词首字母大写&#xff0c;多个单词每个单词的首字母大写。举…

POJ1061:青蛙的约会——题解

http://poj.org/problem?id1061 Description 两只青蛙在网上相识了&#xff0c;它们聊得很开心&#xff0c;于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上&#xff0c;于是它们约定各自朝西跳&#xff0c;直到碰面为止。可是它们出发之前忘记了一件很重要的…

用了mysql报oracle错误_mysql数据迁移到oracle错误总结

最近处理一个需求&#xff0c;使用脚本方式将mysql里的数据迁移到oracle中。处理思路主要是利用mysqldump导出的insert dump文件&#xff0c;oracle中建立相同表结构执行insert。记录本次操作中遇到的问题与处理方式&#xff1a;1、超4000字节字符串导入问题描述oracle varchar…

运行Hadoop自带的wordcount单词统计程序

1.使用示例程序实现单词统计 &#xff08;1&#xff09;wordcount程序 wordcount程序在hadoop的share目录下&#xff0c;如下&#xff1a; 123456789[rootleaf mapreduce]# pwd /usr/local/hadoop/share/hadoop/mapreduce[rootleaf mapreduce]# ls hadoop-mapreduce-client-app…

java for 线程_如何在for循环中使用多线程

import java.util.concurrent.Executor;import java.util.concurrent.Executors;public class Test {private final static Executor executor Executors.newCachedThreadPool();//启用多线程public static void main(String[] args) {for(int i0;i<3;i){final int ji; …

office2010安装出现错误1935的解决方法

安装Office2010 professional plus 2010过程中弹出错误&#xff0c;提示错误 1935&#xff0c;安装程序集组件的过程中发生错误。HRESULT:0x800070BC9 如下图所示&#xff1a; 这个错误是由于电脑.net framework 未安装或安装有错误导致的。解决方法为&#xff1a;下载.net fra…

java linux 服务_java项目部署Linux服务器几种启动方式总结经验

一&#xff1a;两种部署包&#xff1a;部署之前先说下两种包&#xff0c;java项目部署到服务器一般有用war包的&#xff0c;也有用jar包的&#xff0c;微服务spring-cloud普及后大部分打包都是jar&#xff0c;部署之前先搞清楚自己要打war包还是jar包&#xff0c;下面小介绍两种…

HTML温故知新1

什么是 HTML&#xff1f; HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言&#xff0c;而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页 HTML 标签 HTML 标…

java 接口与包_java常用类包接口

类StringIntegerLongFileDateThread(java.lang.ThreadThread类的定义&#xff1a;public class Thread extends Object implements Runnable)包java.lang.*;java.io.*;java.util.*;java.sql.*;java.math.*;接口:ComparableCollectionMapListRunnable(java.lang.Runnable 该接口…

当使用easyui时,表单的onchange事件失效

功能&#xff1a;新增信徒页面&#xff0c;当选择未受洗&#xff0c;设置受洗时间&#xff0c;教堂选项 disabled。 步骤&#xff1a; 在<select>标签里加入 οnchange"xxxxx()"。 在js里编写xxxxx()方法。 测试 教堂选项没有 disabled。 原因&#xff1…

shell脚本:批量修改文件名(文件名中添加字符)

举例如下&#xff1a;批量创建10个随机字符串的文件&#xff0c;要求每个文件名后面添加_aaa,后缀名不变&#xff1b; [rootlocalhost goodboy]# ls adddbbdedf.html baacjaiija.html bhcfaabcfh.html dgjdcdfbca.html efejadfdji.html agdhcdeaje.html bgffbffjcg.html …

java 格式化小数_java-如何格式化小数位数精度

正如评论中指出的那样,如果您只有一个String表示形式,那么就无法判断它实际上是否有重复的部分,或者精度是否不够高.更新我正在研究一个用分子和分母表示为BigIntegers的有理数的类(并假定尽可能地简化).在那里,我实现了一种以十进制字符串形式表示的方法,并提出了以下方法&…

当使用easyui时,jquery的设置disabled属性方法失效

功能&#xff1a;选择未受洗&#xff0c;设置受洗时间&#xff0c;教堂选项 disabled 步骤&#xff1a; 使用了常规的jquery的方法 //两种方法设置disabled属性$(#areaSelect).attr("disabled",true);$(#areaSelect).attr("disabled","disabled&quo…

用户登录提交前,密码加密传输

需求&#xff1a; 因为OA放在外网&#xff0c;为了提高安全性&#xff0c;用户登录时&#xff0c;密码加密传输&#xff0c;数据库密码加密保存。 解决方案&#xff1a; 前台加密用JQUERY MD5插件&#xff0c;这个工具从网上下载的。 后台密码加密&#xff0c;用java的MD5工…

java 内存分布_一图看懂JVM内存分布,永久记住!

经常在说JVM内存分布&#xff0c;也经常去看&#xff0c;但是总是在面试的时候说不清楚或者模糊&#xff0c;甚至有可能说错&#xff0c;只有真正的理解&#xff0c;并且在心中有一个总结构图才能记得清楚说的清楚&#xff01;| JVM总览图java内存区域主要分程序计数器、Java虚…

Winodows10 安全登录(Administrator账户与Microsoft Account关联

我们都知道windows系统最大的管理员是administrator&#xff0c;linux是root&#xff0c;从windows7时代开始&#xff0c;安装操作系统的时候会在最后一步提示创建一个本地账户一直延续到windows8、windows8.1、windows10。近期微软发布了windows10后&#xff0c;很多用户都开始…

微信企业号三个连接模式

在银行里做微信企业号开发有半年多了&#xff0c;因银行封装了调用微信企业号的方法&#xff0c;说是微信企业号开发&#xff0c;其实就是jsp&#xff0c;java代码的编写&#xff0c;银行用的开发工具是EOS&#xff0c;对这个工具我只想说&#xff0c;用久了&#xff0c;就找不…

java opencv安装路径_Java搭建opencv开发环境

由本菜13历经4天才搭建的好的Java OpenCv开发环境带来 .PS:不保证过程都是必须的,必要的.反正我自己成功了... 嘿嘿嘿.官方网站SourceForge点击FilesFiles因为我的机器是Mac,所以选择了unix. 然后下载3.4.3版本3.4.3PS:主要是因为刚开始接触这个OpenCv的时候是用HomeBrew装的, …

iBatis——执行原理

a) 执行原理 1、 将一个对象作为 参数&#xff08;对象可以是Java Bean&#xff0c;Map实现和基本类型的包装类&#xff09;&#xff0c;参数对象将为SQL修改语句和查询语句设定参数值。 2、 执行 mapped statement。这是SQL Maps最重要的步骤。SQL Map框架将创建一个PreparedS…