On May 26, 1:40 pm, Yarko Tymciurak <[email protected]> wrote: > also consider: > > of the 3 places: development, staging / final testing, and > deployment, > > some people stage by migrating / merging their existing site to a > staging site, and then take their current deployment site "down" and > deploy the staging site --- this is the kind of thing you _might_ want > to do if you were (for example) to upgrade a major version of web2py - > to ensure you don't have old files that might get in the way around > any more. > > The operation you are doing really has a significant impact on how > you'll want to do things.
whereas, with web2py incremental development (adding tables, adding controller functions, adding views) are such that your users will never likely even notice that you upgraded - it will just be added while the system is running... > > On May 26, 1:34 pm, Yarko Tymciurak <[email protected]> > wrote: > > > On May 26, 1:08 pm, greenpoise <[email protected]> wrote: > > > > Hmmm..I see. Tough stuff. I wonder if there is room for improvement in > > > that area for web2py. Something that is transparent between the > > > developer and the production site. > > > Generally there are too many variables that depend on the target site > > (although there might be some plugin you could make to help _your_ > > particular situation, it's less likely that it would be worth the > > effort to make it more generally useful.... but think about it - maybe > > you'll show me to be wrong!). > > > If you draw a diagram of the places, and their constraints that are > > involved in deployment, you'll see what's involved. > > > Some tools take your local machine development environment, and push > > it directly to a "production" site. This was a workable concept for > > static HTML page sites, but I don't know of anyone that does that > > with dynamic sites. > > > You have: > > - a development "spot" > > - a deployed-context test "spot" (e.g. on your server, with your db > > server) > > - and you have a "live" site - which you decide to either take down > > (consider migrate=False, and you make changes to tables - something > > has to be done) or keep running (and not take away from users > > > Some things (reports, migrations) you can do most easily with a web2py > > shell; some with a file transfer / sync tool; some most easily > > through the web2py admin interface (I don't use it on a production > > site, except in case of trouble or very unusual circumstances). > > > The list gets rather large rather quickly. And how you want to > > handle it depends on your audience and their site (I'd handle a blog > > differently than a conference registration site, with thousands of > > users ... and dollars exchanging!) > > > Regards, > > - Yarko > > > > Thanks > > > > Dan > > > > On May 26, 1:28 pm, Yarko Tymciurak <[email protected]> > > > wrote: > > > > > On May 26, 11:53 am, greenpoise <[email protected]> wrote: > > > > > > Oh no, I am not developing where the live data resides. But when I > > > > > make changes to my application on my development environment, how do I > > > > > transfer/update those changes on my production site? > > > > > You have to work out a procedure that works with your production > > > > environment. > > > > > Typically, you will want a way to easily "undo" is anything goes > > > > wrong: I use hg on my production site (and include things like the > > > > databases files - i.e. table migrations - in that versioning). > > > > > Then, you will want to work out a cut-over procedure: if you make > > > > changes to modules, you will typically need to restart the web2py > > > > server; otherwise, you can push changes to a running site (!). You > > > > will probably want a staging area somewhere - either locally, or on > > > > your production site - where you will have some way to ensure the > > > > correct connection strings, etc. for your production site, before > > > > pushing out to it. > > > > > You could run your changes on your production server in a "beta" > > > > server (to make sure the environment doesn't affect anything, and that > > > > you have removed all your debug info, and that the correct connection > > > > string changes are in effect - I like to have mine automatically > > > > change on environment). > > > > > Then you need some way to move the files over to the production > > > > server, and finally the production instance. I use rsync, but you > > > > could use a graphical system, something life filezilla. > > > > > Basically, you have to work out your deployment procedure, and > > > > recovery paths. > > > > > Regards, > > > > - Yarko > > > > > > On May 26, 12:36 pm, Thadeus Burgess <[email protected]> wrote: > > > > > > > You probably don't want to develop on your live data. > > > > > > > To be able to migrate data the DAL includes two functions.. > > > > > > > db.export_to_csv_file(open('/path.csv', 'w')) > > > > > > db.import_from_csv_file(open('/path.csv', 'r')) > > > > > > > So you can export your data, and then stick it on the server and > > > > > > re-import it. This also has the advantage that you can use something > > > > > > like PostgreSQL on your production machine. > > > > > > > -- > > > > > > Thadeus > > > > > > > On Wed, May 26, 2010 at 9:39 AM, greenpoise > > > > > > <[email protected]> wrote: > > > > > > > I have web2py production and my development environment. How > > > > > > > would I > > > > > > > go for leaving the data intact in my production? Is there a way? > > > > > > > What > > > > > > > I did is I packedAll the project and took it to my production but > > > > > > > I > > > > > > > will keep working on it on my development environment. Is this > > > > > > > how it > > > > > > > should be done? > > > > > > > > Thanks

