Google App Engine: appcfg.py rollback - google-app-engine

I'm using Windows 7 and for the life of me I cannot figure out how to call the rollback function on appcfg.py. All I want to know is what to type into the command prompt so I can rollback my app.

Try this: appcfg.py rollback <directory>
If your application myapp resides in C:\Users\Nilesh\Documents\ then directory path should be C:\Users\Nilesh\Documents\myapp
If you installed Google App Engine Launcher in your system, then installation path should be something like this C:\Program Files\Google\google_appengine
Now open the command prompt and type the following:
C:\Program Files\Google\google_appengine>appcfg.py rollback C:\Users\Nilesh\Documents\myapp
This will solve your issue. :)

The rollback command can rollback a transaction on the server, but you are unlikely to need to use that unless an update of your app failed for some reason. You should be getting some feedback from appcfg.py that such an action is required. Is that what you want to do? If so, just open a command prompt and type appcfg.py rollback.
Otherwise, please let us know what you are trying to accomplish by performing a 'rollback'.

E:\eclipse-jee-indigo-win32\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.6.1.v201201120043r37\appengine-java-sdk-1.6.1\bin>appcfg.cmd rollback E:\AdminApp\Admin\war
For Rollback Java Application

try this :
this was how I did it (all from the command line) which is a slightly simpler
method, which achieved the same effect.....
C:\Documents and Settings\Amit\My Documents\newproject>"C:\Program
Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.2.5.v200909021031\appengine-java-sdk-1.2.5\bin\appcfg" rollback war
Reading application configuration data...
2009-09-17 20:47:35.859::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
Beginning server interaction for idebanet...
0% Rolling back the update.
Success.
Cleaning up temporary files...
C:\Documents and Settings\Amit\My Documents\newproject>

If you use maven for deploying your app (with goal appengine:update), then you can also run maven with goal appengine:rollback. It solved the issue for me.

I couldn't get mine to work, until I did this:
C:\Program Files (x86)\Google\google_appengine>python appcfg.py rollback "C:\Pro
gram Files (x86)\Google\google_appengine\mirror-quickstart-python"
I had to add in the double quotes and "python" before the appcfg.py

Here is how I did this on my Linux machine (after many trials and errors):
cd ~/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins/com.google.appengine.eclipse.sdkbundle_1.5.1.r35v201106211634/appengine-java-sdk-1.5.1/bin
chmod +x appcfg.sh
./appcfg.sh -s appengine.google.com -e [my-email]#gmail.com rollback /home/erelsgl/workspace/ImitatorGWT/war
Hope this helps.

10, I had this problem little while ago and I have resolved it.
First, I moved to bin directory using:
cd ~/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins/com.google.appengine.eclipse.sdkbundle_1.5.1.r35v201106211634/appengine-java-sdk-1.5.1/bin
Then, I ran the rollback command:
./appcfg.sh rollback /home/workspace/vchat/war
I hope this will help.

Here I have fix it on my ubuntu machine:
cd /home/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.6.5/appengine-java-sdk-1.6.5/bin/
sh ./appcfg.sh -A appId -s appengine.google.com -e youdID#google.com rollback /home/workspace/projectName/war
Hope this helps

For all those who deploy using Google App Engine Launcher, you can fix the issue by opening command prompt and python appcfg.py rollback <directory of your application>
In my case, I have not set up Python env variable so:
C:\Python25\python C:\Program Files\Google\Google App Engine\appcfg.py rollback C:\eclipse\applicatoin

In Linux uploading an App through appcfg creates a staging directory in /tmp
0% Created staging directory at: '/tmp/appcfg8593320566371318406.tmp'
To rollback you may also this directory in rollback command
appcfg.sh -A yourAppId -s appengine.google.com rollback /tmp/appcfg8593320566371318406.tmp

After experiencing quite a it of frustration trying to 'appcfg rollback' on my Mac, I read Jaky's answer and resolved the problem in a couple of minutes by changing the version number.
If you're using eclipse, just open the appengine-web.xml under war>WEB-INF in the project & change the version number there.

Very late to the game, but I'd like to add what worked for me in Windows XP. In a command prompt:
C:\Python27>python C:\Progra~1\Google\google_appengine\appcfg.py rollback C:\Docume~1\myname\MyDocu~1\Projects\myproject\
Python 2.7 and the short names in the Windows path were key.

I am using 64 bit Windows7 with GAE-Java Typing all this detail at the command prompt can be frustrating. My solution: create a batch file.
I created a batch file named 'rollback.bat' & saved it in my WORKSPACE directory. The contents look like this:
cd C:\Users\Organize4Joy\My Code\EclipseWORKSPACE\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.8.3\appengine-java-sdk-1.8.3\bin\appcfg.cmd rollback C:\Users\Organize4Joy\EclipseWORKSPACE\iTreewareMAIN\war
run the batch file by simply typing "rollback"
this local utility changes directory, runs the appcfg rollback EXE & points it to my war directory.
Even better would be to establish a common utility(bin) directory and add it to my path variable. That way I can run this utility from anywhere.

Traverse to the path where the appcfg.py is placed
Run the Command python appcfg.py rollback (The Directory of your project folder)

Open dos
place yourself in the folder containing appcfg.cmd (bin of the GAE SDK)
If your application myapp resides in C:\Users\Nilesh\Documents\ then directory path should be C:\Users\Nilesh\Documents\myapp\war.
Now open the command prompt and type the following:
appcfg.cmd rollback C:\Users\Nilesh\Documents\myapp\war
Note don't forget to add 'war' at then end of your app folder
then enter your email and password

This has been answered many times, but I had issues getting it to work for me too. If you are running Java and are also having problems or if you have Google's 2 factor authentication setup and that is giving you problems, here are the steps I used to make it succeed:
1) Make sure you have the Google App Engine in your Path in Environment variables.
IE: C:\Users\yourUserName\Desktop\Eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.9.18\appengine-java-sdk-1.9.18\bin
2) Open up a command window AS AN ADMINISTRATOR! Do not just type cmd and enter, you need to type cmd, right-click on it, and open as admin
3) First, CD to the folder that has the WAR file in it. In my case, that was:
cd "C:\Users\yourUserName\Documents\MyWorkspace\Project1"
This is the same folder that has the src, .settings, and war folders in it.
4) In the cmd window, type: "appcfg rollback war" and press enter.
5) It will ask for your google credentials. If you do not have 2 factor authentication setup, simply type them in and press enter and you will be set.
6) If you DO have 2 factor authentication setup, go to your google accounts page (Just google for 'google account') and it will be the first or second one.
Next, under the "Signing In" category, go to App passwords.
Next, go to the bottom and under the select app dropdown menu, choose other and type in anything (IE: GAE rollback)
It will give you a password (16 digit random numbers).
Finally, type in your email address in the command window and then type/ paste in this new temporary 16 digit password into the password section.
7) Profit!
-Sil

In my case, I had to use the --no_cookies, without it, I had no premissions to do the operation.
C:\Users\user_name.gradle\appengine-sdk\appengine-java-sdk-1.9.30\bin\appcfg --no_cookies --application=app_name --version=1 rollback C:\projects\android\app\backend\build\exploded-app

I don't know much about these coding things everyone is talking about here..but I found a simple way to update the application..
Select your application and click on "EDIT".
A wordpad file should open up with application details.
Below the application there is version:1
Simply change the version to version:2 instead of 1 and click "Save".
So, instead of updating the same version..you are deploying a new version..
Click on "DEPLOY".
Check your application now!

Related

Cannot get the cakephp 2.3 console running on xampp on Windows 7

I am running a cakePHP app which is located in C:xammp\htdocs\scheduling. I am running it on xampp on Windows 7. I have added the following environment variables:
C:\xampp\htdocs\scheduling\app\Console\;C:\xampp\php;
but still cannot get the cakephp console in operation. When I navigate to C:\xampp\htdocs\scheduling\app and try to get the cake console or cake help, I am given a message that it is not recognized as an internal or external command.
And yes, I did reload the cmd after adding the environment variables.
Its Easy just follow the steps as mentioned below:
put Your PHP Path in environment Variable
Open Command Prompt with Admin priviliges
change directory to C:\xampp\htdocs\your_appname\app\console
Type in " Cake Bake " and run
And You Are ready to go...................Happy Baking...........................
Just reloading the cmd is not enough, you need to either reboot your system or add it once manually before you are ready to reboot:
set Path="%Path%;c:\xampp\htdocs\scheduling\app\Console"
If all else fails, you can always call it in full from your app dir:
Console\cake bake
It's a little bit more typing, but this will work regardless of the Path variable settings.

Getiing error message 'Failed Installing JBAS50SVC' whle running service.bat file in Windows 7

I need to run Jboss 7 as service.
Followed these steps :-
Copied my Jboss to C:\Program Files <86>
Downloaded Jboss-native-2.0.10-windows-x64-ssl and copied the contenst of bin catalog to %JBOSS_HOME%/bin
Changes done on service.bat as per link instructions
https://community.jboss.org/message/724488
Changed my dir location to my Jboss bin
and given command service.bat install
C:\Program Files \jboss7>bin>service.bat install
Failed installing JBAS50SVC
Access is Denied.
Service JBoss Application Server 7.1.1 installed.
I'm not able to rectify this problem .
It appears to be windows access issue.
Try the following:
Does the windows ID you are using have Administrator privileges? If no, get a Admin ID else if Yes, proceed to step 2.
Try to do the same but in some other drive (not c: )
UPDATE #1 : OP says he can not see the output of service.bat file
Follow the following steps
Open start menu
Search for "cmd"
Right click "cmd" and run as Administrator
type in following command
cd C:\Program Files \jboss7\bin
Type service.bat and observe the output
On a 2008 Windows Server this occurs because you're not running the command line as an administrator. Those of us who have spent considerable amounts of time on 2003 server, and others before that, keep forgetting that your logged in ADMIN level account does NOT get passed to the command line automatically like with previous versions of Windows.
With any additional errors, past this one, I would keep going back to the service.bat file and looking at the path statements, throughout that file, to ensure that they are all correct to reach what is correct for your installation.
Also, don't forget to create a log folder under standalone (unless you're doing a domain install). Failure to do that will also cause issues as well.
yoda

Easy way to push postgres db to heroku in Win7? problems with db:pull and pg:transfer

Using Rails 3.2.2, finishing up my migration from sqlite to postgres 9.2.
Used answer in this tutorial as a guide to install postgres and got stuck on Step 11 where it asks run heroku db:pull where I get:
Failed to connect to database: Sequel::AdapterNotFound -> LoadError: cannot load such file --pg
I dug deeper and found db:pull (taps gem) is deprecated and came across a few recommendations for pg:transfer. Installed pg:transfer, but I get the impression it may be *nix only(?) as if I run: heroku pg:transfer it returns:
Heroku client internal error. No such file or directory - .env (Errno:ENOENT)
If I do pg:transfer with -f and -t it gives me:
'env' is not recognized as an internal or external command, operable program or batch file which means it isn't bound to path or doesn't exist as a command in windows.
Any thoughts on above errors?
Resolved by using pg:backups gem, which was recommended as the replacement for taps in the Heroku docs. I used this guide and uploaded my dump to dropbox for Heroku to pick it up.
Here's my exact list of steps and cmds:
Added pgbackups from heroku.com add-ons to my instance.
heroku pgbackups:capture DATABASE (this just backs up your heroku db)
pg_dump -h localhost -U <pg username> -Fc dbname > dbname.dump
Moved dbname.dump into a folder on my dropbox
In Dropbox, right-click on dbname.dump => "Share link"
Cancel the sharing dialogue pop-up, right-click on "Download button", Copy Link Address (Chrome)
heroku pgbackups:restore DATABASE <paste dropbox download link here>
Dropbox trickiness: don't use the file link provided by Dropbox since it's an html redirect and will cause pg:restore to fail, even though the extension ends in .dump
Instead, navigate to your dropbox page and "right-click copy link address" on the Download button. That's the address you use in your pgbackups:restore (should be something like db.dump?token=<long random string>)
A bit clunky, but got the job done. If you know a better way please let me know!
You need to make a .env file containing something like:
DATABASE_URL=postgres://localhost/myapp_development
References:
https://github.com/ddollar/heroku-pg-transfer
https://devcenter.heroku.com/articles/config-vars#local-setup

Running appcfg.py

I have python + google app engine installed on a windows XP machine. Google App engine is installed in the default directory of python25.
How do I run appcfg.py from command line?
I tried running it after changing directory to python25 but I get an error that the program is not a valid win32.exe
I also tried running it directly from c:\program files\google\google_appengine but I also get an error.
Secondly, I need to run appcfg with the rollback option. How do I do this?
Thanks
you needs to assign python scripts to python.exe or do the following [Path to Python]\python.exe [Path to appcfg]\appcfg.py rollback [path to app].

Google App Engine appcfg.py shows the help message for every command

I have GWT app, which is deployed on GAE (Java). I'm trying to download data from App Engine datastore using appcfg.py . I did all the setup according to http://ikaisays.com/2010/06/10/using-the-bulkloader-with-java-app-engine/ .
GAE Python SDK version is 1.4.3
Python version is 2.5.4
appcfg.py is on my PATH. When I run appcfg.py on the command-line, I get the "help" message. But the problem is that no matter which command I use, it always returns the help message. I have not been able to run any command using appcfg.py.
It doesn't give any specific error message no matter what arguments I give. My app is using Google Accounts authentication, but I don't think it even gets to the point of authentication.
I'm able to use the Java appcfg (for other actions like rollback) without any problem. But the Python version simply refuses to work for all commands.
I've tried different formats like:
appcfg.py create_bulkloader_config --url=http://myappid.appspot.com/remote_api --application=myappid --filename=config.yml
appcfg.py create_bulkloader_config --filename=bulkloader.yaml --url=http://myappid.appspot.com/remote_api
appcfg.py --filename=bulkloader.yaml --url=http://myappid.appspot.com/remote_api create_bulkloader_config
All give me the same help message:
Usage: appcfg.py [options]
Action must be one of:
create_bulkloader_config: Create a bulkloader.yaml from a running application.
cron_info: Display information about cron jobs.
download_app: Download a previously-uploaded app.
download_data: Download entities from datastore.
help: Print help for a specific action.
request_logs: Write request logs in Apache common log format.
rollback: Rollback an in-progress update.
set_default_version: Set the default (serving) version.
update: Create or update an app version.
update_cron: Update application cron definitions.
update_dos: Update application dos definitions.
update_indexes: Update application indexes.
update_queues: Update application task queue definitions.
upload_data: Upload data records to datastore.
vacuum_indexes: Delete unused indexes from application.
Use 'help <action>' for a detailed description.
Options:
-h, --help Show the help message and exit.
-q, --quiet Print errors only.
-v, --verbose Print info level logs.
--noisy Print all logs.
-s SERVER, --server=SERVER
...
...
...
Even when I try "appcfg.py help create_bulkloader_config" for a detailed description, it still shows me the same standard help.
I have also tried on the local development server using the url http://127.0.0.1:8888/remote_api but it still gives the same help message.
I'm totally clueless as to what the problem is. I'm new to GWT and GAE, and any help will be appreciated.
Thanks.
The following fix worked for me. It looks like appcfg.py doesn't like PYTHON27 and ALWAYS returns the help menu. I fixed it by executing it with PYTHON25 and hard coded all my file locations:
C:\Python25-archive\python "C:\Program Files (x86)\Google\google_appengine\appcfg.py" rollback C:\scripts\myapp
The right way is to change the environment variables on Windows 7:
Go to System Properties
Go to Advance System Settings
Click on Environment Variables
Append to Path variable the values C:\Python27\
Click Ok and restart your computer. (Yes, it is needed.)
Another way is to:
Open command Prompt
Locate your python.exe file. For example:
C:\Python27>_
Then, run a python command that looks like this.
python <appcfg_directory> download_app -A <your_app_id> -V <your_app_version> <output-dir>
Where <appcfg_directory> is equal to C:\Program Files\Google\google_appengine\appcfg.py. (Depending on your file location)
Don't forget to put quotes before and after <appcfg_directory>

Resources