- Write a BaseCommand template that will be used to execute the commands
- Learn how Django/Python uses database interaction
- Develop the users accounts part of the fill-database program
- Develop the remaining parts of the fill-database program, one argument at a time
- Post on review board for review 6.Choose the next project (js unit testing / ui /users/ development)
The program will be invoked with the name fill-database, and will take users, review-requests, reviews, and diff-comments as command line arguments. Users will take a single argument, whereas the rest will take a range of arguments in the form of N:M, where N is a lower bound number and M is an upper bound number. The arguments other than the user will be used to supply information to the user accounts. The program will select a random number for each user between the supplied ranges and fill in the appropriate data into the database.
./reviewboard/manage.py fill-database –users=10 –review-requests=5:10
will fill the database with 10 users, each user will be given a random number of review-requests (between 5 and 10).
An example where all the commands are used would be:
./reviewboard/manage.py fill-database –users=3000 –review-requests=5:200 –diffs=0:5 –reviews=0:10 –diff-comments=1:50
which would generate a db of 3000 users, each with 5 to 200 review requests, 0 to 5 diffs, 0 to 10 reviews, and 1 to 50 diff-comments.
Week Jan 23: build command line prototype -just accepts args nothing fancy
Week Jan 30: determine method django/python communicates with db & initial add users attempt
Week Feb 6: implement the users db fill to accept any number of users
Week Feb 13: Implement the next param: review-requests?
Week Feb 20: Implement the next param: diffs?
Week Feb 27: Implement the next param: reviews?
Week Mar 6: Implement final param: diff-comments?
Week Mar 13: Start next project: js unit testing / ui development Remaining timeline to be sorted out.