EF Code First not working on deploy hosting - entity-framework

I've an application using MVC and Code First for persistence.
Everything works fine in my development, but when I'm uploading to server, it doesnt work.
In any place i try to create a database, but it keeps me returning the following error: CREATE DATABASE permission denied in database 'master'.
The only thing that i do is override the OnModelCreating method just to map my app.
Anyone has this error?
Thanks

For a tutorial series that shows how to publish your Code First database and prevent Code First from trying to re-create the database in production, see
http://www.asp.net/mvc/tutorials/deployment-to-a-hosting-provider
The third tutorial in the series shows how to set up the Web.config file. The second shows how to deploy if you are using SQL Server Compact, the tenth shows how to deploy to full SQL Server.

You'll need to publish your database out to your hosting provider. Visual Studio has an easy way of doing this. In the server explorer tab, you can navigate to your database, right click and choose publish to provider. By doing this, you will not only export the scheme of your database, but you can also export out all data, stored procs, views etc.
You will need to adjust your code so that you are no longer trying to create a database on code run. Typically this approach is used for development, and you are no longer in development if you're moving to a hosting company. The changes may be in your global.asax, the dbcontext of your solution and any other place where you modified it to create the scheme for the database.
Hope this helps you some, and good luck on your project.

Related

What do you lose by ejecting a React app that was created using create-react-app?

I'm interested in using Hot Module Replacement with a newly created React app.
Facebook Incubator's create-react-app uses Webpack 2 which can be configured to support HMR, however in order to do so, one needs to "eject" the create-react-app project.
As the documentation points out, this is a "one way" operation and cannot be reversed.
If I'm to do this, I want to know what I might be giving up. I've been unable to locate any documentation that explains the potential drawbacks of ejecting.
The current configuration allows your project to get updates from create-react-app core team. Once you eject you no longer get this.
It's kind of like pulling in bootstrap css via CDN as opposed to downloading the source code and injecting it directly into your project.
If you want more control over your webpack, there are ways to configure/customize it without ejecting:
https://www.npmjs.com/package/custom-react-scripts

Symfony 3 form not persisting to database

i am currently building subscription form with symfony 3 and all works like it should in development environment. Once i deploy it to production, all works fine at the beginning - data is pushed to database just like it should for the first subscriber. However when i close the website, open it again, complete the form and try to submit it - data is not pushed to DB. I do not get any particular error at that time, it looks like it is trying to push it to database but then something crashes on the background and i get completed for at the end.
That seem to be deployment issue to me but i cannot seem to figure out which one. I was deploying my app with deployer.org
When deploying i was getting this error "Unable to setup correct permissions for writable dirs. You need to configure sudo's sudoers files to not prompt for password, or setup correct permissions manually." I did not give it any special attention as my website did deploy and 1 user of the website did push to DB just fine.
I am using MySql as database
Any assistance is much appriciated.
Finally got this figured out. In my SubscriberDetails Entity I had id set up to be auto generated (e.g. #ORM\GeneratedValue(strategy="AUTO")) and for reasons i am not sure of and would like to find out this was working well on dev but was not working at all on prod. So solution to this was to remove auto generation from entity level and simulate it in controller via:
$query = $em ->createQuery('SELECT MAX(s.id) FROM AppBundle:SubscriberDetails s');
$newSubscriber ->setId($query->getSingleScalarResult() + 1);
That did the trick for me

Create databasebase with entity framework code first approach

I do not want that my database is created when I insert a record. One reason is I do not want to create sample application, do an insert just to have a database...
I want that my database is created via the package manager console.
How can I do that?
It's a little unclear what you're asking, but I think you're trying to prevent the database from being created automatically from the application code.
The database is created on the first use of the DataContext. If you don't want the database to be created on the first use of the data context you can add Database.SetInitializer<YourContextClassHere>(null); to your Global.asax.cs file.
Then you could use the Update-Database cmdlet in Visual Studio to run the pending migrations including creating the database.

External access to Magento instances

I've started investigating alternatives to my project and a few questions came out that I couldn't answer by myself.
The problem is: I want to create a web page able to access multiple Magento instances installed in the same server. Currently, I have one Magento instance per client and this project will access several Magneto instances to export reports from each one (for example).
The alternatives I thought til this moment are:
Have another Magento instance, create a new module within it that changes its 'database target' before triggering operations/queries;
Questions until this moment:
Can I 'change the database target' of a Magento instance?
How can I access data from a Magento instance without appeal to SOAP/REST?
I want to re-use some components (grids, tabs, forms..) from Magento, that's why I'm not considering an independent project (Zend, for instance) that can access this code from another projects. Does it make sense?
Any other idea?
==Edited==
Thanks by the tips and sorry by my ignorance. The comments let me believe that I'm able to execute something like this:
// File myScript.php
require '/home/DOMAIN1/app/Mage.php';
Mage::app('default');
// get some products from DOMAIN1
require '/home/DOMAIN2/app/Mage.php';
Mage::app('default');
// get some products from DOMAIN2
Is it right? Can I execute require twice (and override things from first require)?
==Edited2==
I'm still trying to connect to several Magento instances from a single third party file. Is there any tip? I'm facing several/different errors at this moment.
The only thing I know is that I can still rely on SOAP to get the information I need, but this will be expensive.
Thanks!
The easiest way would be to include Mage.php from each shop instance. You would need to use namespaces or some other trickery to be able to load more then one.
Or if that doesn't work - make your own API in a separate file to get what you want from one shop, and combine the results in the PHP-file that calls the API.
Here's a sample on how to use Magento functionality outside of Magento:
require 'app/Mage.php';
if (!Mage::isInstalled()) {
echo "Application is not installed yet, please complete install wizard first.";
exit;
}
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
// your custom code here, for example, get the product model..
$productModel = Mage::getModel('catalog/product');

How can i know which object is preventing me from saving?

I'm working on a Microstrategy 8.1.525.151 Client with a Microstrategy Server 8.1. While creating a report i deleted some objects and after that, each time i try create or change any object (report, filter, attribute) i get the same error when i try to Save
The error is
'Cannot save, move or copy this object because it has been changed in the Metadata'
I've tried refreshing the schema both in the client and server, deleted and recreated the objects (it only works on the server but doesn't refresh on the client) and also the menu Administration/Server/Purge Cache Objects
With the exception of the Microstrategy knowledge base (which i cannot access) all i have found is mentions of changing multiple objects, however i don't know which objects may be causing this error if any
Thanks in advance for the help
If you cannot create/save any other object I'm afraid that your metadata are corrupted.
There are some utility provided by MicroStrategy to fix them, but I don't think they still support version 8.1. Your best shot is to try with MicroStrategy tech support.
You are the only one with this problem? other users can modify objects?
The way i used to solve it was to delete all attributes and reports i created since i started having such a problem, (it was easier because it was all in a single folder for attributes and a single folder for reports and i suspect in certain cases also other objects would need deletion) also restarted the intelligence server