UsingMultipleModelFiles.ejs
2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<script type="text/javascript" charset="utf-8">
document.observe("dom:loaded", function() {
buildNavigation([], ["<br />", "<a href=\"/examples/Count\">Count</a>",
"<a href=\"/examples/DefaultValues\">Default values</a>",
"<a href=\"/examples/fetchAssociations\">fetchAssociations</a>",
"<a href=\"/examples/MethodPassing\">MethodPassing</a>",
"<a href=\"/examples/Performance\">Performance</a>",
"<a href=\"/examples/SequelizeWithOptions\">SequelizeWithOptions</a>",
"<a href=\"/examples/ChainQueries\">Using the chainQueries function</a>",
"<a href=\"/examples/UsingMultipleModelFiles\">UsingMultipleModelFiles</a>",
"<a href=\"/examples/Associations\">Working with associations</a>"], { seperator: ' ' })
})
</script>
<div>
<a name="sequelize"></a>
<h1>UsingMultipleModelFiles</h1>
<p></p>
</div>
<div class="seperator"></div>
<div>
<a name="app.js"></a>
<h2>app.js</h2>
<p>
<pre>var Sequelize = require(__dirname + "/../../lib/sequelize/Sequelize").Sequelize,
sequelize = new Sequelize("sequelize_test", "test", "test"),
Project = sequelize.import(__dirname + "/Project").Project,
Task = sequelize.import(__dirname + "/Task").Task
Project.hasMany('tasks', Task)
Task.belongsTo('project', Project)
sequelize.drop(function(errors) {
if(errors.length > 0) return Sequelize.Helper.log(errors)
sequelize.sync(function(errors) {
if(errors.length > 0) return Sequelize.Helper.log(errors)
new Project({
name: 'Sequelize',
description: 'A nice MySQL ORM for NodeJS'
}).save(function(project) {
var task1 = new Task({
name: 'Choose a nice MySQL connector',
deadline: new Date(),
importance: 10
})
var task2 = new Task({
name: 'Build the rest',
deadline: new Date(),
importance: 90
})
Sequelize.chainQueries([{save: task1}, {save: task2}], function() {
project.setTasks([task1, task2], function(tasks) {
Sequelize.Helper.log(project)
Sequelize.Helper.log(tasks)
})
})
})
})
})</pre>
</p>
</div>
<div class="seperator"></div>
<div>
<a name="Project.js"></a>
<h2>Project.js</h2>
<p>
<pre>exports.getProjectClass = function(Sequelize, sequelize) {
var Project = sequelize.define("Project", {
name: Sequelize.STRING,
description: Sequelize.TEXT
})
/*
Here comes further Project logic
*/
}</pre>
</p>
</div>
<div class="seperator"></div>
<div>
<a name="Task.js"></a>
<h2>Task.js</h2>
<p>
<pre>exports.getTaskClass = function(Sequelize, sequelize) {
var Task = sequelize.define("Task", {
name: Sequelize.STRING,
deadline: Sequelize.DATE,
importance: Sequelize.INTEGER
})
/*
Here comes further Task logic
*/
}</pre>
</p>
</div>