Migration - Did I just lose all of my data? - heroku

Being newer to Ruby on Rails and while I have a fair understanding of certain areas, I am still learning. The one area I have difficulty is migrations/databases and I fear I may have had a terrible mistake.
I am currently working on building a blog and recently added a comments section. My next project was to have friendly URLs (using the friendly_id gem) and when I needed to create a new column for slugs, it seemed to already exist (from trying at a previous time I suppose).
Anyway, I tried to reset to an older commit but I know now (unless I am mistaken) that it has no affect on migrations? After some research I tried to rollback my database to undo whatever happened with the slugs. Ultimately, I went too far back that the only database I had was for my blog posts (and nothing for the users and comments).
I have since done a rake db:migrate and everything has been generated again but the content (via the localhost) was removed. I don't mind that because the content I have on my localhost does not have everything my live site does (http://www.joedayvie.com), granted its not much there either.
Anyway, I am really lost at this point and concerned. If I git push heroku master in the console will my content be removed or will this happen when I update the migrations onto heroku? Is there anything I can do to revert prior to this whole mess happening?
I apologize for seeming quite confused (but I am 100% self taught and lost). I greatly appreciate any information anyone may be able to provide me.
Thank you so much for reading!
Joe
PS: Of course if it's possible that this may not affect my website at all, please let me know. I just want to know more information before going further - Thank you! =)

You need to read about backups on Heroku
Then - you need to create a backup of your production system on heroku and prove to yourself that you can load it, by doing so on your local system.
When you have your local system looking like your production system again, you will know that you know how to recover even if the mess does happen again.

Related

Joomla 2.5.16 take up to 2min to load

A relative asked me to fixed a Joomla website (v2.5.16) who has been hacked last year, probably due to lack of update (is up to date now), unfortunately I have no information about this. The issue is that the front end take 2~ min to load. The administration is loading normally so whatever the issue is, it depend of the front end. I already disabled all modules one by one and switched the template with another one to make sure that thebug is not in template or plugins folders, without success.
I must add that the problem is "probably" more recent than the hack, according to this person. So maybe there was a script somewhere reaching a random server which may not work anymore.
PS : the website is on a shared hosting. I have the FTP access but no ssh.
I know that I don't give any details which can lead to resolve this, but I need more a method to track what can go wrong and where than a solution.
Thanks in advance,
We have written a lengthy post explaining why a website might be slow: http://www.itoctopus.com/20-questions-you-should-be-asking-yourself-if-your-joomla-website-is-slow
From the looks of it, it might that the website is still hacked. Try overwriting the Joomla files with a fresh Joomla install and see if that addresses the problem.
Solving this issue will probably involve some or all of the following:
updating Joomla and all third party extensions to the latest versions
checking for and fixing malicious files using http://myjoomla.com or
https://sucuri.net or similar
analysing the performance of the website using http://gtmetrix.com
(it's free) or similar to pinpoint and fix what is taking the most time to
load
If the website has been hacked, you may need to reset passwords etc once the malicious files have been removed. See https://joomla.stackexchange.com/a/180/120 for more information about securing the website once it is fixed.

Does it "damage" a joomla website to test extensions?

I have a bit of bad habbit, I install joomla on xampp and test all extensions and things im planning to add on the website there. Then I go to live website and try to start it from scratch, but it get very confusing and stressing this way..
I am thinking of just uploading the xampp joomla site to a live server but I am worried about these things:
I have installed/uninstalled some extensions (10+) do these leave behind any corrupted files in general or cause any problems?
Any tips cause im really worried now, the website has grown a lot and I cant start it from start even looking at the notes I took while making it. Uninstalled extensions do they leave any files behind or cause any problems? Right now the website works good on XAMPP.
Any tips or suggestions greatly appreciated,
Ammy
Most extensions uninstall fairly cleanly. You can be sure by using an FTP client and looking under /components, /plugins, and /modules (and/or their counterparts under /administrator) for leftover directories with the extension's name. You can also use PHPMyAdmin or somesuch to look for leftover database tables with similar names.
Even if files and tables are left behind, they're unlikely to cause problems with the site. I understand the desire to keep a tidy codebase, but that's not a good reason to build a site twice.
Most extensions delete their files on an uninstall. This is because Joomla does this job itself, the extension doesn't have to do anything for this to work.
However the tables are a different beast. While it would be very easy for extensions to delete their tables on uninstall, there are different ideas about this. Some argue that they don't want to be responsible for deleted data and thus leave the tables behind.
Also entries in the assets, categories, tags mappings and menu tables are likely to be lying around after an uninstall. Most extensions will not clean those tables up during uninstall.
There may also be leftovers in files, if the extension used some library like fof or similar. There is no ckeck if the uninstalled extension was the last one that used that library. So you need to uninstall those manually, but you need to know if it's used or not.
The leftover tables and entries don't generate any problems except for a bit more memory usage. However a leftover library may be a huge security issue as it may contain a bug which could be abused. Since no extension is using it anymore, it will never get updated and the bug doesn't get fixed.

Recover deleted files from Xcode4

I am new to git and to Xcode, and mac in general, so here's my question
I accidentally added my whole desktop to a project i was working on. When I wanted to delete the files, Xcode asked me if I wanted to delete them from disk and I said yes. The problem is that the project itself was in a folder inside my desktop and it took out everything. I had not committed my changes in the git local branch. Is there any way to undo what I did?
I appreciate whatever help I can get.
If you have not committed, Git cannot help you bring back your project. You will have to look at other alternatives ( like TimeMachine if you had it setup? )
If anyone's experiencing trouble with this problem, I nearly went back in my project and changed everything all over again but then remembered that it may not have been legit deleted yet. That is all to say that you should CHECK YOUR TRASH first! I don't know why it didn't occur to me until awhile after I had accidentally deleted it, but I ended up finding it in the Trash, so I'm thankful for that. Hope I've saved someone a whole lot of trouble!
Stop using the HDD immediately. Get Data Recovery help. Top of the line Data Recovery services may charge 1K-3K but can do an amazing job. Worth trying if your job is on the line.
Also, don't lose heart. Doing it the second time (if it comes to that) will take much shorter time than the original one.

how to make redmine reload local .yml files

Good afternoon all,
Does anyone know how to reload a changed locale file in Redmine? In this case /redmine/config/locales/en-GB.yml
I traced the application through to see what was happening, but I'm no Ruby expert and couldn't find the answer. After first noticing that changes to these files do not take effect, I assumed the data was copied to another file or moved into the database but can't find anything to prove that theory.
Or if anyone has a better idea for doing some basic term/phrase replacement - then please let me know :)
Thanks in advance
Edit: For anyone that finds this. You restart redmine by either restarting your webserver or mongrel etc.
It loads the locales files when the app starts up. If you made changes, just restart the app.

Should image data go in VCS?

We're having a spirited discussion about this at my workplace. We're talking about user uploaded images for a bunch of products, not images needed to display the basic site. I say "no way" but I'm curious what others think.
Update: Just to clarify. These are customer supplied images for products that they are entering/modifying.
I agree with 'no way'.
Anything that may change on the site through day-to-day use, or is editable by whoever administers the website I consider to be 'content'. This includes uploaded files and database content, both of which are backed up separately. Nothing on the website that is in version control changes once it's been deployed. Easier that way.
Other ways of asking if something should be in version control:
Do the images change?
Are the changes related to anything else?
Can mistakes be made?
Is traceability wanted/needed?
If the rest of the site is version controlled, version control the images.
If the images are generated, version control the generator.
Presumably, what you are talking about is content that would be classified as user data, as opposed to project files. That stuff, while important, does not need versioning - that needs a plain old backup mechanism.
I recently added a new project into a fresh SVN repository, and every time I look at the 'uploads' folder I realise how stupid I was to include that in the initial commit.
It seems like what you're talking about is content that is in (or perhaps will be) in a database. If a customer is supplying you a list of products as well as the pictures of those products, then that should all come from a database. In this case, I wouldn't because your database should be backed up, but not in the VCS.
If it is not, and your web site is static, then I would only because it is "part of the site."
If you feel you must revision it, put these resources out of the path of the main repository somehow, and then give it a dedicated repository just for that content.
You don't want everyone who has to check out code getting a copy of every image when they checkout or update, its slow, and pointless, and having them in your primary tree will just have more headaches than you can Imagine.
/common_ancestor
/project_code/ # repository a
/resources_dir/ # repository b
If you have to use symlinks or web-server magic to make this happen, then do that, but whatever you do, DON'T put content like that in your main repository.
As far as backups vs revisioning go, revisioning it like this does give you a slight ease if you're using SVN as your distribution method as well, that way if a developer needs a copy of the images for testing purposes, its relatively easy to get a relatively up-to-date set of them.
If you aren't going to expose the versioning to the customers, then what would be the point?
The customers are already free to use version control on their own end, before they submit the files. You may want to encourage them to do so.

Resources