-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathDBIC-Book-Outline.txt
executable file
·116 lines (63 loc) · 2.3 KB
/
DBIC-Book-Outline.txt
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
109
110
111
112
113
114
115
General notes
=============
* Each chapter will list the pre-requisite knowledge (inc. other chapters) needed for it.
* Each section should demonstrate and encourage exercises and tests.
* Accompanying/Downloadable skeleton code with tests for each chapter will be created.
DBIx::Class Outline
===================
1 - Introduction and general data storage
-------------------------------------
### What is DBIx::Class?
### Methods of data storage with Perl
### Why a database?
### Why DBIx::Class?
2 - Databases, design and layout
----------------------------
### Some databases to choose from
### Tables, Columns, Primary and Foreign keys, Indexes
### Design, 1/2/3 Normal forms
### Examples and exercises
3 - Setting up DBIx::Class, basic usage
-----------------------------------
### Types of DBIC classes
### Anatomy of a Schema and Result class (User.pm)
(side bar on dealing with strange column names or reserved words)
### Defining relationsips between tables
### Exercise, Post.pm, tests for exercise
### How to test your DBIC code
### Basic usage, connect, search/find, output data (accessors)
4 - Creating, Reading, Updating and Deleting
----------------------------------------
### Create a User entry, prove it worked with a test
### Importing multiple rows at once, test results
### Finding and updating one row
### Create a Post entry for the user
### Update many rows at once
### Deleting a row or rows
### Advanced create/update/delete
5 - Further queries and helpers
---------------------------
### Recap simple search queries?
### ResultSet stores set of conditions for a query
### Related data, fetching, filtering, grouping
### Aggregates (sum, count)
### Clever stuff: having, subselects, ...
### Helpers on CPAN (union ... )
### Querying/defining views, stored procedures
### Transactions, locks etc
6 - Components and extending
------------------------
### Adding methods to Row/ResultSet objects
### Turning column data into useful objects (Inflate/Deflate)
### Storing your own data
### Setting default values, validation
### Encoding content (passwords)
### Auditing, previewing data
7 - More CPAN extensions/modules
----------------------------
### Versioning, refactoring, deploying
### TimeStamp, ...
### Replication
### Candy
### & Moose
### & Catalyst (other frameworks?)