Why I cannot "insert into" but can "update" mysql table? - mysql

I moved a website from a classic shared hosting server to an AWS server where the LAMP environment is run inside a docker container onto which I map the website pages and DB.
The website is correctly populated with the content provided by the DB, I can correctly update an article from the admin area of the website but I can only add a new row via INSERT INTO statement through phpmyadmin console but no longer from the admin area of the website. Everything worked fine before so my guess is that something is preventing my code from inserting a new row in the tables of the database whereas it allows an update.
Anyone ever experienced a similar problem and knows what shall I look for?
I am using Matt Rayner lamp:latest-1604 container with Ubuntu 16.04.1, Apache/2-4-18, PHP version 5.6.33 and MySQL 5.0.11
About the AWS instance, it is a t2.micro, cofigured using the tutorials provided by Amazon Web Services Documentation.
Thanks

Related

Migrate Joomla 3 Site to new domain

I have built a Joomla site for a client on a development server. It soon needs migrating to the client's Live site, which will mean a URL change as well as a physical server change.
I'm new to Joomla, but having worked a lot on WordPress previously I know it's a piece of cake to migrate one WP site to another, especially with the dozen or so available plugins.
However, this doesn't appear to be so easy on Joomla. I have searched for the best practice to achieve this with Joomla 3 but cannot find what I need.
Does anyone have a suggestion for this?
There are in fact a two ways to achieve this and they are quite easy.
1. The first one is the manual way, that is:
Copy the files of your local joomla installation and upload them to
your server
Export your local database and import it on your server.
Edit the configuration.php file to your new server credentials -db
name, db user, db server etc.
2. The second one is through the akeeba backup component.
In this case you create a backup and then restore it on the remote
server. Detailed info
here.
After uploading your remote site you are advised to follow these
guidelines
to secure your installation.

Duplicating existing cakephp app for development

I need to make a development version of a cakePHP app with its own db so that a developer can work on it without disturbing the current users.
I thought it would be simple, I just copied the entire director /project to /project_dev and then copied the DB "project_db" to "project_db_dev". Then I went into /project_dev/config/database.php and changed the db to "project_db_dev".
When I went to see what I had done, I saw the app was still connecting to the same db, as if I'd changed nothing. I realized that the original folder name was referenced in /app/webroot/.htaccess so do I need to find/replace all instances of that folder name?
What steps should I follow to duplicate an existing cakePHP app?
You need to setup some kind of development lifecycle.
Generally speaking the developer shouldn't be doing any development on the server. The best way to handle it is locally using a stack of some kind such as Lamp (Linux, Apache, Mysql, PHP) switch out linux with other OS's. There are multiple cloud solution to these environments to such as Koding.com
Using something like Git for version control the developer can develop locally then push the code through to the server after is being thoroughly tested locally or on a dev server or some kind.
Keeping Dev work and Live work away from each other is key.
Could do with a bit more information.
If both databases are hosted on the same server and you have permission to access them both with the same user then all you have to do is change the name of the database in your database.php
If not you will also have to update the IP and any other additional settings port etc.
If you are still having troubles email me simpsond1988#gmail.com

Failing to Move / Migrate a Liferay Portal to other Server

Is there an up-to-date, complete guide on moving a Liferay Portal ?
How am I supposed to migrate a Portal to another Server in an efficient and safe way ?
I've been developing a Portal, connecting to a mySQL database. Then, I had to move both the portal and database to another Server.
So I did the following steps, pretty identical to this guide
export the mySQL Db and import it in the new Server. The data are moved correctly, as I've checked them manually
Copy a new (clean) copy of the Liferay Portal to the new server
copy the data folder
copy portal-ext.properties, then edit the db url and login credentials
Copy the portal-setup-wizard.properties, then change the 'liferay.home' param to the correct portal path
I run the server and my admin has the default 'test' password instead of the one I used before the migration
then I see that Can't have access to the previous content, like Users, UserGroups, Pages, etc. I Also tried re-indexing the database entries (Users and Organizations, Web Content etc). Again nothing
I also Tried copying the whole Portal, and only changing the .properties files to target the new database and portal path. Again the same problems, no Content from the old portal. It's like I started a fresh portal
So what did I do wrong this time ?
Used Liferay 6.1.0 ce ga1
I failed migrating the portal and had to create it from scratch. Almost 1 year later, i found out what caused the problem. Here it is. To be fair, it's a MySQL issue, not Liferay
The MySql database, since it got ported from a windows server to a Linux one, was exported with table names in Uppercase. When Liferay tries to connect to the database, it will not find the Liferay Model's tables, and will create new ones. Practically Liferay treats the Database as an empty one, and it starts as a fresh portal. I only found that, while exploring the database sometime later, and found out I had each Liferay Table both in uppercase and lowercase.
More info and solutions can be found here

Make appharbor work with existing mysql server

When I was working on my project (asp.net mvc 3) before uploading it, I needed to make it refer to an already existing mysql database. There was/is no option of moving or cloning that database, and I had to add a block of code to my C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config file for it to be made compatible.
How do I make it work on appharbor without moving my database?
You should be able to use mysqldump to move your data to a database running in the context of the AppHarbor MySQL add-on. Here's a guide.
If your current database is publicly accessible it should also work if you configure your AppHarbor app to use that. If you need to open a firewall, you can find AppHarbor app server IPs here.

Can I deploy Joomla on my desktop within the same FastStack service I implemented for SugarCRM (running Apache and MySql via FastStack)? If so how?

The problem is that I am unable to get Joomla to create the Mysql database. It is saying that I may not have enough permissions to create a new database. I know how to create a database on a typical web host server, but not finding the same set up on the FastStack desktop implementation. Joomla wants me to make the database, but how do I do that? I suspect the Faststack is set-up only to support Sugar and is not expandable to add more databases. In which case, I would need to deploy a full version of Mysql on my desktop? And maybe a full version of Apache? Or maybe better to find a FastStack implementation of Joomla, as well?
How to do that, if so? THANKS!
What mysql account are you using when you setup the mysql in the install app? If you use the root user you should have full permissions. You could also just use the database that is already there. All Joomla tables have a prefix of jos_ so should not cause conflict with sugar tables.