Skip to content

Instantly share code, notes, and snippets.

@ccoenraets
Last active December 16, 2015 10:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ccoenraets/5421386 to your computer and use it in GitHub Desktop.
Save ccoenraets/5421386 to your computer and use it in GitHub Desktop.
Populate Parse.com database with sample data
<!DOCTYPE html>
<html>
<body>
<script src="lib/jquery-1.9.1.min.js"></script>
<script src="lib/underscore-min.js"></script>
<script src="lib/parse-1.2.2.min.js"></script>
<script>
Parse.initialize("YOUR_APPLICATION_ID", "YOUR_JAVASCRIPT_KEY");
var promisesPhase1 = [],
promisesPhase2 = [];
var Employee = Parse.Object.extend({
className: "Employee"
});
var EmployeeCollection = Parse.Collection.extend({
model: Employee
});
var employees = new EmployeeCollection(
[
{"firstName": "James", "lastName": "King", "managerName": "", "title": "President and CEO", "department": "Corporate", "cellPhone": "617-000-0001", "officePhone": "781-000-0001", "email": "jking@fakemail.com", "city": "Boston, MA", "pic": "james_king.jpg", "twitterId": "@fakejking", "blog": "http://coenraets.org"},
{"firstName": "Julie", "lastName": "Taylor", "managerName": "James King", "title": "VP of Marketing", "department": "Marketing", "cellPhone": "617-000-0002", "officePhone": "781-000-0002", "email": "jtaylor@fakemail.com", "city": "Boston, MA", "pic": "julie_taylor.jpg", "twitterId": "@fakejtaylor", "blog": "http://coenraets.org"},
{"firstName": "Eugene", "lastName": "Lee", "managerName": "James King", "title": "CFO", "department": "Accounting", "cellPhone": "617-000-0003", "officePhone": "781-000-0003", "email": "elee@fakemail.com", "city": "Boston, MA", "pic": "eugene_lee.jpg", "twitterId": "@fakeelee", "blog": "http://coenraets.org"},
{"firstName": "John", "lastName": "Williams", "managerName": "James King", "title": "VP of Engineering", "department": "Engineering", "cellPhone": "617-000-0004", "officePhone": "781-000-0004", "email": "jwilliams@fakemail.com", "city": "Boston, MA", "pic": "john_williams.jpg", "twitterId": "@fakejwilliams", "blog": "http://coenraets.org"},
{"firstName": "Ray", "lastName": "Moore", "managerName": "James King", "title": "VP of Sales", "department": "Sales", "cellPhone": "617-000-0005", "officePhone": "781-000-0005", "email": "rmoore@fakemail.com", "city": "Boston, MA", "pic": "ray_moore.jpg", "twitterId": "@fakermoore", "blog": "http://coenraets.org"},
{"firstName": "Paul", "lastName": "Jones", "managerName": "John Williams", "title": "QA Manager", "department": "Engineering", "cellPhone": "617-000-0006", "officePhone": "781-000-0006", "email": "pjones@fakemail.com", "city": "Boston, MA", "pic": "paul_jones.jpg", "twitterId": "@fakepjones", "blog": "http://coenraets.org"},
{"firstName": "Paula", "lastName": "Gates", "managerName": "John Williams", "title": "Software Architect", "department": "Engineering", "cellPhone": "617-000-0007", "officePhone": "781-000-0007", "email": "pgates@fakemail.com", "city": "Boston, MA", "pic": "paula_gates.jpg", "twitterId": "@fakepgates", "blog": "http://coenraets.org"},
{"firstName": "Lisa", "lastName": "Wong", "managerName": "Julie Taylor", "title": "Marketing Manager", "department": "Marketing", "cellPhone": "617-000-0008", "officePhone": "781-000-0008", "email": "lwong@fakemail.com", "city": "Boston, MA", "pic": "lisa_wong.jpg", "twitterId": "@fakelwong", "blog": "http://coenraets.org"},
{"firstName": "Gary", "lastName": "Donovan", "managerName": "Julie Taylor", "title": "Marketing Manager", "department": "Marketing", "cellPhone": "617-000-0009", "officePhone": "781-000-0009", "email": "gdonovan@fakemail.com", "city": "Boston, MA", "pic": "gary_donovan.jpg", "twitterId": "@fakegdonovan", "blog": "http://coenraets.org"},
{"firstName": "Kathleen", "lastName": "Byrne", "managerName": "Ray Moore", "title": "Sales Representative", "department": "Sales", "cellPhone": "617-000-0010", "officePhone": "781-000-0010", "email": "kbyrne@fakemail.com", "city": "Boston, MA", "pic": "kathleen_byrne.jpg", "twitterId": "@fakekbyrne", "blog": "http://coenraets.org"},
{"firstName": "Amy", "lastName": "Jones", "managerName": "Ray Moore", "title": "Sales Representative", "department": "Sales", "cellPhone": "617-000-0011", "officePhone": "781-000-0011", "email": "ajones@fakemail.com", "city": "Boston, MA", "pic": "amy_jones.jpg", "twitterId": "@fakeajones", "blog": "http://coenraets.org"},
{"firstName": "Steven", "lastName": "Wells", "managerName": "John Williams", "title": "Software Architect", "department": "Engineering", "cellPhone": "617-000-0012", "officePhone": "781-000-0012", "email": "swells@fakemail.com", "city": "Boston, MA", "pic": "steven_wells.jpg", "twitterId": "@fakeswells", "blog": "http://coenraets.org"}
]
);
// Pass 1: Save basic employee information
employees.each(function(employee) {
promisesPhase1.push(employee.save());
});
// Pass 2: Set manager information and save
Parse.Promise.when(promisesPhase1).then(function() {
employees.at(0).set("managerId", null);
employees.at(1).set("managerId", employees.at(0).id);
employees.at(2).set("managerId", employees.at(0).id);
employees.at(3).set("managerId", employees.at(0).id);
employees.at(4).set("managerId", employees.at(0).id);
employees.at(5).set("managerId", employees.at(3).id);
employees.at(6).set("managerId", employees.at(3).id);
employees.at(7).set("managerId", employees.at(1).id);
employees.at(8).set("managerId", employees.at(1).id);
employees.at(9).set("managerId", employees.at(4).id);
employees.at(10).set("managerId", employees.at(4).id);
employees.at(11).set("managerId", employees.at(3).id);
employees.each(function(employee) {
promisesPhase2.push(employee.save());
});
});
Parse.Promise.when(promisesPhase2).then(function() {
alert("Database populated");
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment