我有一个现成的PHP/MySQL应用程序,现在正试图将其迁移到AngularJS/Firebase,只是为了学习这些新技术。
该应用程序在MySQL中拥有自己的表模式。其中一个表看起来像这样:
CREATE TABLE `dictionary` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`word` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`wordmeaning` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`wordlength` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
我的问题是:我该如何将MySQL中的表结构和数据迁移到Firebase?
我尝试通过类似以下查询的方式将数据导出为JSON字符串:
SELECT CONCAT("[",
GROUP_CONCAT(
CONCAT("{id:'",id,"',"),
CONCAT("word:'",word,"',"),
CONCAT("wordmeaning:'",wordmeaning,"',"),
CONCAT("wordlength:'",wordlength,"'}")
)
,"]")
AS json FROM dictionary;
这将生成一个有效的JSON字符串,例如:
[{id:'1',word:'cat',wordmeaning:'一种哺乳动物物种',wordlength:'3'}, {id:'2',word:'catapult',wordmeaning:'投掷装置',wordlength:'8'}, {id:'3',word:'cart',wordmeaning:'用于搬运物品的东西',wordlength:'4'}]
我将其保存在文件中,并尝试使用“导入JSON”按钮从Firebase导入该文件,结果出现错误:解析JSON数据时发生错误。请验证您的输入。(该JSON字符串是有效的。我在http://jsonviewer.stack.hu/上进行了检查)
有什么想法可能是我的做法有问题吗?我假设Firebase可以处理这样的结构和其中的数据。
谢谢。