Skip to content

Instantly share code, notes, and snippets.

@MalucoMarinero
Created May 1, 2013 09:01
Show Gist options
  • Save MalucoMarinero/5494395 to your computer and use it in GitHub Desktop.
Save MalucoMarinero/5494395 to your computer and use it in GitHub Desktop.
window.db = new JohoDB "testDB", 20
db.addSchema 'Household', {
id: {type: "int", primaryKey: true, autoIncrement: true}
address: {type: "string", required: true}
suburb: {type: "string", required: true}
postCode: {type: "string", required: true}
}
db.addSchema 'People', {
id: {type: "int", primaryKey: true, autoIncrement: true}
firstName: {type: "string", required: true}
lastName: {type: "string", required: true}
dateOfBirth: {type: "datetime", required: true}
home: {type: "fk", relation: "Household", relatedName: "occupants"}
bio: {type: "string"}
pets: {type: "m2m", relation: "Pets", relatedName: "owners"}
}
db.addSchema 'Pets', {
id: {type: "int", primaryKey: true, autoIncrement: true}
name: {type: "string", required: true}
age: {type: "int"}
}
db.initDB "indexedDb", clobber: true
householdSaves = db.models.Household.save({
address: "8/17 Churchill Ave"
suburb: "Sandy Bay"
postCode: "7005"
}).then ->
db.models.Household.save({
address: "9 Monterey Sq"
suburb: "Kingston"
postCode: "7532"
}).then ->
db.models.Household.save {
address: "11 Malamar Place"
suburb: "Glenorchy"
postCode: "7023"
}
personSaves = householdSaves.then ->
db.models.People.save({
firstName: "James"
lastName: "Rakich"
dateOfBirth: new Date(1925, 10, 8)
}).then ->
db.models.People.save({
firstName: "Joe"
lastName: "Bloggs"
dateOfBirth: new Date(1942, 2, 1)
bio: "Top bloke here."
})
personSaves.then ->
db.models.Household.objects.all().then (result) ->
console.log 'Household.objects.all()', result
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment