什么是将MySQL移至Parse.com的最佳方式

时间:2015-01-15 18:39:39

标签: mysql parse-platform

我有一个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 ;

1 个答案:

答案 0 :(得分:1)

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

希望这有助于其他人将类似的记录从MySQL转移到Parse。

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

enter image description here 获得CSV文件后,打开解析数据浏览器并转到核心选项卡,查看下图所示的数据部分,然后单击导入。

enter image description here

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

enter image description here