Why doesn't MySQL include a decent migration tool anymore? - mysql

MySQL used to have a Migration Toolkit, to make it easier to import from SQL Server and get started with MySQL as a production platform. That has been discontinued as a product. We were promised that an equivalent product would be added to the newer MySQL Workbench, but that has not happened.
It strikes me as a bizarre business decision, by the MySQL team, to put an extra barrier in the way of people who are considering moving from an MS-stack to a LAMP-stack.

Yes, migration toolkit was awesome.
But still they support the import/export in mysql workbench.
Checkout here:
http://dev.mysql.com/doc/workbench/en/wb-server-administration-manage-data-import-export.html

That seems like a strange move indeed...
You will find several tools suggested under "Migration Tools" here: dev.mysql.com/tech-resources/articles/migrating-from-microsoft.html.

You can migrate Data from MSSQL using PHPMyAdmin Web Interface!
Check here!
To install it on your LAMP-Stack (if you don't have it already), type this on server:
sudo apt-get install phpmyadmin
and Voilá!
:)

Latest MySQL moves look like the typical management decisions based upon marketing rather than actual software capabilities. The company has been through several owners in a few years and the last one, Oracle, has a strong will to make money out of it. (They are even making money out of Sun Microsystems!) MySQL used to have a bunch of poorly maintained GUI tools with a widely variable quality level. That's okay for most users but it scares away companies, which are the type of users that are willing to pay. Creating a single suite out of it looks like an intelligent move in the long term but they probably lack resources to speed up things and they want results now.
Right now, you can still find the old tools if you dig into the archives section from the download page. You'd better grab your copy before they change their mind. ;-)

Related

MYSQL or PostgresSQL on AWS

I am trying to understand the trade-offs between going with MySQL or PostgreSQL on AWS.
Some considerations for me are that I am an amateur database user, so I need to be sure resources are available which allow me to overcome problems quickly. Along these lines, I bought the book 'PostgreSQL on the Cloud' and was all set to go with PostgreSQL since the book laid out a great use case.
One thing held me back though is that it is important for my work to be able to to easily use Excel as a front end for importing and exporting data into and out of the Database on AWS.
It looks like MySQL has an open extension which is fully integrated with Excel and is also well documented. My research into PostgreSQL uncovered a much more uneven integration with Excel and a lot of long painful group frustration a closer integration has not already occurred.
Right now, I am leaning to MySQL, but want to make sure I am not missing something.
Thanks!
Microsoft touts a PostgreSQL plugin as well: https://support.office.com/en-us/article/connect-to-a-postgresql-database-power-query-bf941e52-066f-4911-a41f-2493c39e69e4. Never used it, so can't comment on it.
You mention you are a beginner, so I'll add... be careful about security with either of these options. There are options to encrypt the channel between the client and server, which you indicate is running on AWS. If not secure, anyone would be able to effectively monitor the connections, extract credentials, and do whatever to your AWS-hosted DB. Generally, cloud-hosted DBs should be behind an authentication/authorization login process.

Is installshield suited in this scenario?

The scenario my company asked me to find solution is,
Install MySql
Create Users and grand privileges
Create a database
Install Multiple exe files
Run 3-4 sql scripts.
Ok so i saw InstallShield features, i was looking at NSIS option too but my company dont care if we will buy InstallShield or use a free one so i dropped this options, after 2-3 hours of researching i found that installshield is probably the best.
But i have 0 experience in this field and i cant tell for sure if InstallShield can meet my needs or if im overthinking this scenario and there is a simple solution.
Any advise is appriciated.
I recommend everyone to not go with InstallShield. Better go with WiX (Windows Installer XML).
In our company we used InstallShield MSI-Project for a half decade and it's really a pain. When you try the demo-version everything looks nice and polished but as soon you get more and more requirements you will start to notice that there are many bugs and using InstallScript for custom actions will bring you back in the 90s.
The syntax of WiX (which is pure XML) will look confusing and hard to read in the first time but it's so good to have makros and variables that you can use in your markup on your side.
You can write your Custom Actions in C# and therefore you are able to use some existing code for creating users and grant privileges.

ruby on rails w/ SQLServer

I've heard from some people that RoR doesn't marry cleanly with SQLServer. We are being pushed to use SQLServer for historical and standardization reasons but if we can push back with valid reasons we can move to another db. One person on the team wants MySql and another wants Postgres, etc. I'm trying to stay out of the religious wars and really understand what the pain point is with SQLServer.
We're running the app server on a linux box, and the database will be on a windows box and the SQLServer that we're supposed to standardize on is 2008, if those details help any...
thanks in advance!
I am not very familiar with such configuration but.. There are some question you should (I think so) ask yourself and team.
Is there any significant advantage for your project of using SQLServer?
If yes ... Is it so overwhelming that you are ready to face some difficulties with odbc drivers such as: http://groups.google.com/group/rails-sqlserver-adapter/browse_thread/thread/6d35d4a53ac210b2
Are you ready to host so many configurations of this boxes (linux+windows) for development, staging and production?
Do you have got professional of SQLServer in your team? (backups and administration)
If you cannot get positive answers for this questions I think SQLServer could be very hard to maintain for RoR project. Still it doesn't mean it is not possible. But sometimes you must ask yourself why you should use saw to driving nails when you have got hammer at your left.
I am successfully using Rails (version 3 to latest) with SqlServer in production for many years.
You can use https://github.com/rails-sqlserver/activerecord-sqlserver-adapter which recently upgraded to support latest SqlServer/Azure for Rails 5.2.

Best way to update products

Some background:
We provide a complex system consisting of a large database and several programs - most written in C#, however some legacy applications are still running on MFC.
Most of the stuff we provide runs on a single server (runs SQL server and SQL Management studio 2005), however several applications can run on a number of client's computers. Updating this is a real pain, since after we update the database the outdated software is likely to break due to database changes. Updating the server software manually is one thing, however making sure all the client software works too is practically impossible, and will only get worse with time.
I am to write an updating service, which will be able to update the whole product - update the database, reinstall services and applications. (However only the programs / files /tables / etc that are actually modified should be updated. Downloading the whole product each time there is a update available is not an option. Also, some computers may only have a subset of avaliable programs installed)
First of all is there a already a good way of doing this? If there is something similar to ClickOnce that would also be able to update databases already out there I'd much rather use that.
If not, what are the best practices when it comes to updating? All and any material will be greatly appreciated.
I will need some updates to be installed on the server ASAP after the updates have been submitted, without any user input. That includes a windows service (that is running at all times) and any database changes. After these changes have been made, I will have to prevent any software that is not up to date from either accessing the parts that have been changed, or from running at all.
Any advice will be greatly appreciated - If I do have to write a system like that, I'd like to do it right.
Best practice would be to package the app up in an MSI and use Group Policy to push the updates out to each client.
If that's not possible then you need some way of informing the client app that it is out-of-date (simple check against a server holding the current version number would probably suffice) and refuse to work until an update patch is downloaded and installed - you could even launch this process from inside the app itself.
This answer may help you, I haven't personally used Wix but this seems to be along the lines of what you're looking for. Make sure to check out Lesson 4 in the linked tutorial, as this provides the details you would require.
I'm not sure where you would find best practices when it comes to updating, but in my personal opinion you shouldn't ever force a user to update unless it breaks the underlying application (like yours does). I would be very interested to hear if someone has a link to a list of best practices on this topic.
Edit
I was interested in possible best practices for updating so I started another question thread here. The general consensus in the answers is "Ask the user/client", but there may be some other details in the answers which may help you, I'm afraid I can't find any actual hard rules on the subject anywhere (which I was expecting).

How to integrate Visual FoxPro w/ MySQL for eCommerce website?

I'm working on an eCommerce website for a small merchant. This merchant uses Opera (which is based on Visual FoxPro) to manage his in-store inventory, and would like the online store inventory to reflect the in-store inventory.
I'm guessing that my first step is to set up a way to regularly transfer the information from the VFP database to a MySQL database on the website's server. Is there an established process for this? Am I even approaching this problem from the right angle? I've heard a lot about ODBC, but am unsure as to how to implement it or if it's what I'm looking for in this situation.
If it wasn't obvious by this point, I'm in over my head here, and would appreciate any and all advice you may have, including links to articles or tutorials that can help improve my general understanding of all the moving parts here.
Thanks much.
Co-worker developed synchronization process between VFP and MSSQL2008. WCF service which took input directly from VFP.
On other project - as far as i remember, when we tried ODBC .NET data adapter, it had problems with encodings and foreign languages. That's why we used COM+, serialization for communication with .NET.
But it seems to me you are using PHP (eCommerce=>Drupal=>PHP) so you are in completely different situation.
In your case, i would start with checking out if Opera (i guess it's this Opera) provides built-in export and eCommerce provides built-in import. Mostly because it might be tedious work to sync data manually from 2 apps coded by someone else. Then i would research if i/o can be joined and automated (something like scheduled task on win environment). Unfortunately, can't help much more because i'm unfamiliar with those tools, products and technologies.
Anyway - it seems to me like quite hard and dirty task and i wish you good luck. :)
Depend on what is that you are using to implement the website.. in general it is pretty easy with ODBC (In Java , I did it using the jdbc-odbc bridge)