Thadeus,

I can't say what Mike is doing, but what i tend to do with the
database (software setups very similar if not identical to those
mentioned) is that i have 2 bits:
 - a script that will populate a database with dummy data if it is
empty.  I use this for bringing up new machines and getting a quick
sanity check that the install was correct.
 - i use my production database backups on my local machine.  (you
should have a backup plan...this is a useful way to test it)  This
only works while the DB is still small enough to run on your machine,
which for me has been true for about 90% of the projects i work on.

hope that helps!  good luck!

cfh

On Feb 9, 2:01 pm, Thadeus Burgess <thade...@thadeusb.com> wrote:
> Mike, how are yall testing changes locally before you commit?
>
> Does each developer have his own version of the database in sqlite
> with different data?
>
> -Thadeus
>
> On Tue, Feb 9, 2010 at 3:39 PM, MikeEllis <michael.f.el...@gmail.com> wrote:
> > FWIW, the following approach is working for us with a small team of
> > developers.  We use SVN instead of mercurial, but I don't see why this
> > wouldn't work for mercurial.
>
> > 1. All the python, html, and static files (and _nothing_ else) in our
> > app's directory tree are under version control in a separate
> > repository.  The nothing else part is really important.
>
> > 2. We're keeping migrate=True on the table definitions.  It's not
> > bitten us yet, but keep in mind that we're using SQLite and the
> > CherryPy server that comes with web2py.
>
> > 3. Each developer installs a local copy of web2py and then checks out
> > our app under web2py/applications .
>
> > 4. When a developer feels a change is ready to commit, s/he does so in
> > the usual way.
>
> > 5. We keep a remote test instance of web2py and the latest version of
> > the app running in a Rackspace cloud server.  This is mostly for
> > spotting things that behave differently remotely (and catching the
> > situation where someone forgets to a version control a new
> > file, ...).  All the developers are authorized to private-key ssh into
> > the remote web2py user account to manually update the app in the test
> > server instance.
>
> > 6. We found it useful to put a little bit of SVN magic into our
> > menu.py to make the application subtitle display the current rev no.
>
> > try:
> >    import pysvn
> >    svncli = pysvn.Client()
> >    svninfo = svncli.info('applications/init')
> >    svnrev = svninfo.revision.number
> >    response.subtitle = T('Interface Prototype: Revision %s'%svnrev)
> > except:
> >    response.subtitle = T('Interface Prototype')
>
> > Updating the app into a running web2py instance seems to be no
> > problem.  The only time we have to stop a server is to update the
> > web2py version.  So far the 'unzip on top of the installation' method
> > is working with no problems.
>
> > Hope this is useful.
>
> > Cheers,
> > Mike
>
> > On Feb 9, 2:35 pm, Dmitri Zagidulin <dzagidu...@gmail.com> wrote:
> >> FWIW, I do multi user development on web2py, and take the route that
> >> you describe -- not version the .table files, and do a migrate=False
> >> on all the tables in the model. This is partly because of multi
> >> developer collisions, and partly because the migrate functionality
> >> does not work for the web2py version/odbc drivers/database engine
> >> we're using (ms sql).
>
> >> The developers all work off of a shared database (using a two-tiered
> >> approach actually, a 'dev' database everybody works off of, and a live
> >> db).
> >> This basically works out nicely -- if a dev adds or creates a column,
> >> they do it directly on the dev database, and commit the changes to
> >> db.py. There is also a person in charge of the live database schema --
> >> the schema (sql create files) gets tracked separately in version
> >> control.
>
> >> On Feb 9, 1:38 pm, Thadeus Burgess <thade...@thadeusb.com> wrote:
>
> >> > I have thought about setting up a shared postgres. However the issue
> >> > still remains that if the .table files are altered during two
> >> > branches, when merging how do you pick which .table file to accept?
>
> >> > And you can't get rid of .table files because then you would not be
> >> > able to connect to the postgres database.
>
> >> > Would it work if we did not version the .table files, and set
> >> > fake_migrate = True on all of the define_table statements? Then would
> >> > we be able to still have automatic migrations?
>
> >> > -Thadeus
>
> >> > On Tue, Feb 9, 2010 at 4:38 AM, tiago almeida 
> >> > <tiago.b.alme...@gmail.com> wrote:
> >> > > hy not setup a shared db server on the network? It works, just needs 
> >> > > some
> >> > > coordination when making changes to the model. Does it have to be sql
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "web2py-users" group.
> > To post to this group, send email to web...@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > web2py+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/web2py?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to