将 MySQL 移动到 Parse.com 的最佳方法是什么

What's the best way to move MySQL to Parse.com

我有一个 iOS 应用程序,目前使用 MySQL 作为数据库后端来存储大约 2000 条记录和 10,000 张照片。我想重构我的 Objective-C 以使用 Parse 而不是当前的 MySQL 我想知道将我的 MySQL 数据移动到 Parse 的最佳方法是什么?

这是我的数据库的当前 MySQL 结构。

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `mysqlToParsePlatform`
--

-- --------------------------------------------------------

--
-- Table structure for table `awesome_authentication`
--

CREATE TABLE `awesome_authentication` (
  `authentication_id` int(11) NOT NULL auto_increment,
  `username` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  `name` varchar(100) NOT NULL,
  `role_id` int(11) NOT NULL,
  `is_deleted` int(11) NOT NULL,
  `deny_access` int(11) NOT NULL,
  PRIMARY KEY  (`authentication_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

-- --------------------------------------------------------

--
-- Table structure for table `awesome_categories`
--

CREATE TABLE `awesome_categories` (
  `category_id` int(11) NOT NULL auto_increment,
  `category` varchar(100) NOT NULL,
  `category_icon` varchar(100) NOT NULL,
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  `is_deleted` int(11) NOT NULL,
  PRIMARY KEY  (`category_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

-- --------------------------------------------------------

--
-- Table structure for table `awesome_news`
--

CREATE TABLE `awesome_news` (
  `news_id` int(11) NOT NULL auto_increment,
  `news_content` text NOT NULL,
  `news_title` varchar(100) NOT NULL,
  `news_url` varchar(100) NOT NULL,
  `photo_url` varchar(200) NOT NULL,
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  `is_deleted` int(11) NOT NULL,
  PRIMARY KEY  (`news_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

-- --------------------------------------------------------

--
-- Table structure for table `awesome_photos`
--

CREATE TABLE `awesome_photos` (
  `photo_id` int(11) NOT NULL auto_increment,
  `photo_url` varchar(200) NOT NULL,
  `thumb_url` varchar(200) NOT NULL,
  `store_id` int(11) NOT NULL,
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  `is_deleted` int(11) NOT NULL,
  PRIMARY KEY  (`photo_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10167 ;

-- --------------------------------------------------------

--
-- Table structure for table `awesome_ratings`
--

CREATE TABLE `awesome_ratings` (
  `rating_id` int(11) NOT NULL auto_increment,
  `rating` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  `store_id` int(11) NOT NULL,
  PRIMARY KEY  (`rating_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=32 ;

-- --------------------------------------------------------

--
-- Table structure for table `awesome_reviews`
--

CREATE TABLE `awesome_reviews` (
  `review_id` int(11) NOT NULL auto_increment,
  `review` text NOT NULL,
  `store_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  `is_deleted` int(11) NOT NULL,
  PRIMARY KEY  (`review_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

-- --------------------------------------------------------

--
-- Table structure for table `awesome_stores`
--

CREATE TABLE `awesome_stores` (
  `store_id` int(11) NOT NULL auto_increment,
  `store_name` varchar(100) NOT NULL,
  `store_address` varchar(160) NOT NULL,
  `store_desc` text NOT NULL,
  `lat` varchar(20) NOT NULL,
  `lon` varchar(20) NOT NULL,
  `sms_no` varchar(30) NOT NULL,
  `phone_no` varchar(30) NOT NULL,
  `email` varchar(30) NOT NULL,
  `website` varchar(100) NOT NULL,
  `category_id` int(11) NOT NULL,
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  `featured` int(11) NOT NULL,
  `is_deleted` int(11) NOT NULL,
  PRIMARY KEY  (`store_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2027 ;

-- --------------------------------------------------------

--
-- Table structure for table `awesome_users`
--

CREATE TABLE `awesome_users` (
  `user_id` int(11) NOT NULL auto_increment,
  `full_name` varchar(100) NOT NULL,
  `username` varchar(40) NOT NULL,
  `password` varchar(40) NOT NULL,
  `login_hash` varchar(200) NOT NULL,
  `facebook_id` text NOT NULL,
  `twitter_id` text NOT NULL,
  `email` varchar(100) NOT NULL,
  `deny_access` int(11) NOT NULL,
  `thumb_url` varchar(100) NOT NULL,
  `photo_url` varchar(100) NOT NULL,
  PRIMARY KEY  (`user_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;

在花了很多时间寻找答案、尝试研究迁移服务并研究编写自定义脚本之后,我决定先尝试最简单的方法。这奏效了!

希望这会帮助其他人将类似的记录从 MySQL 移动到 Parse。

为了从 MySQL 数据库中获取我的 2,000 多条商店记录和 10,000 多张照片,我转到 phpMyAdmin 并将 awesome_storesawesome_photos 表导出到两个单独的表使用下图设置的 CSV 文件。

获得 CSV 文件后,打开 Parse Data Browser 并转到 Core 选项卡并查看下图所示的 Data 部分,然后单击 Import。

这将弹出导入对话框。看起来像这样。将您的新自定义命名为 Class,然后添加您的 .CSV。确保 phpMyAdmin 不会在 .csv 的头部添加额外的行。如果是这样,您将在尝试导入到 Parse 时遇到错误。