我有一个现有的 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:'弹射器',wordmeaning:'投掷器',wordlength:'8'}, {id:'3',word:'cart',wordmeaning:'用来装东西的东西',wordlength:'4'}]
我将它保存在一个文件中,并尝试使用 Import JSON 按钮从 Firebase 导入文件,我得到:解析 JSON 数据时出错。请验证您的输入。(JSON 字符串是有效的。我在http://jsonviewer.stack.hu/进行了检查)
关于我可能做错了什么的任何想法?我假设 Firebase 可以处理这样的结构和其中的数据。
谢谢。