Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
将带有3个表的旧MySQL迁移到JSON_Mysql_Database_Firebase_Nosql - Fatal编程技术网

将带有3个表的旧MySQL迁移到JSON

将带有3个表的旧MySQL迁移到JSON,mysql,database,firebase,nosql,Mysql,Database,Firebase,Nosql,我正在将我的PHP/MySQL数据迁移到Firebase,Firebase只允许通过JSON导入。几年前我制作了这5个MySQL表,但没有正确地完成。我从未正式将任何内容设置为外键,因此我使用单独的查询而不是联接 现在,我正试图编写一个脚本来移动大约4000个合并行。我使用的是PHPMyAdmin,所有的标准功能都可以在那里使用。我真的很感激任何正确方向的提示或提示。提前谢谢!:) 这是我的布局的简化版本,包括所有必要的部分: TABLE users - id (int, primary

我正在将我的PHP/MySQL数据迁移到Firebase,Firebase只允许通过JSON导入。几年前我制作了这5个MySQL表,但没有正确地完成。我从未正式将任何内容设置为外键,因此我使用单独的查询而不是联接

现在,我正试图编写一个脚本来移动大约4000个合并行。我使用的是PHPMyAdmin,所有的标准功能都可以在那里使用。我真的很感激任何正确方向的提示或提示。提前谢谢!:)

这是我的布局的简化版本,包括所有必要的部分:

TABLE users
    - id (int, primary key)
    - username (varchar)

TABLE posts
    - id (int, primary key)
    - content (varchar)
    - userid (int, should be foreign key to users)

TABLE comments
    - id (int, primary key)
    - content (varchar)
    - userid (int, should be foreign key to users)
    - postid (int, should be foreign key to posts)

TABLE commentLikes
    - id (int, primary key)
    - likeValue (int)
    - commentid (int, should be foreign key to comments)
    - userid (int, should be foreign key to users)

TABLE postLikes
    - id (int, primary key)
    - likeValue (int)
    - postid (int, should be foreign key to posts)
    - userid (int, should be foreign key to users)
基本上,网站上的用户可以创建帖子和评论帖子。评论和帖子都很受欢迎

我绘制了JSON文档的外观。我会有一个用户类型,一个帖子类型

Post JSON format
{
    id: 100,
    content: "A post by user 1",
    userid: 1,
    comments: [
        {
            content: "A comment by user 2",
            userid: 2,
            commentLikes: [
                {
                    likeValue: 1,
                    userid: 2
                },
                {
                    likeValue: -1,
                    userid: 3
                }        
            ]
        },
        {
            content: "A comment by user 3",
            userid: 3,
            commentsLikes: []
        }
    ],
    postLikes: [
        {
            likeValue: 1,
            userid: 2
        },
        {
            likeValue: -1,
            userid: 3
        }        
    ]
}

User JSON Format
{
    id: 1,
    username: "Bob"
}
有人对如何实现这一转变有什么想法吗?我知道MySQL的设置非常糟糕。然而,我不能失去这些数据。这是我写的一个剧本,但我认为它不管用。即使在脚本运行之后,我如何批量创建这些JSON文件以导入Firebase

SELECT p.*, c.content, c.userid, cL.likeValue, cL.userid, pL.likeValue, pL.userid 
FROM posts p, comments c, commmentLikes cL, postLikes pL 
WHERE c.postid = p.id OR pL.postid = p.id

如果你读到这里,非常感谢你的帮助!:)

使用我安装的PHPMyadmin版本4.2.7.1,我可以直接将整个表或查询生成的视图导出为JSON


如果您的版本在导出格式选项中没有列出JSON,只需升级到任何具有“导出到PHPMyAdmin的JSON插件”的版本即可。看起来是任何版本>=3.5.1

为所需的数据结构定义类。用数据填充对象。验证对象结构是否满足您的要求,并将对象传递给json_encode。-如果您需要将它们存储在文件中,请使用fwrite-@RyanRentfro-ah,这听起来是正确的。出于某种原因,我一直在PHPMyAdmin中研究它,但我将给类和json_编码一个机会。谢谢!:)您应该能够将视图从PHPMyAdmin导出为一个数组,然后简单地对数组进行json_编码。