I am not even sure how to ask this question. I am absolutely willing to research this myself, but I don't even know what exactly my options are.
I'm fairly new to programming in general, and I'm the sole developer on an ASP.NET MVC3 web application. We're about to upgrade to a new version which has a lot of addition to the data model. There are a couple new entities and some of the old entities have new properties/columns.
We've finished beta testing and now we're going to try to get everyone moved over to the new version running parallel to the current version, that way if there are show-stopping problems, users can easily switch back to the old version. The problem is that we can't hook both up to the same db because of the data model differences.
Can I make the old version use the new version's schema or something? I'm not really sure what my options are. I'm not asking you to write this for me; I'm just looking for some direction. Thanks!
You should be able to disable the metadata checks and then use two versions against the DB assuming the models use a schema that is compatible between both.
http://revweblog.wordpress.com/2011/05/16/ef-4-1-code-first-disable-checking-for-edmmetadata-table/
Another option is to use entity framework 4.3 code first migrations and actually use an upgrade script that it will generate for you. If it fails you can roll back the script to a prior version and use your prior code base. This would imply you upgrade to 4.3 first before doing anything else though although you could still disable metadata checks.
Related
I am planning to upgrade MVC3 EF5 project to MVC6. I understand it will require a lot of manual changes all over in config files, project files, entity framework, etc. Before I spend hours, wanted to see what is the best way?
Option 1: to make changes in IDs, configures, assemblies, etc. in the existing project (it doesn't even open in VS2015 right now, like any other MVC3 project, Thank You Microsoft). Looking at the instructions for converting MVC3 to MVC4/5, I guess I will need to have an ambulance on the standby here :-) It amazes me that MS did not provide any tool or even clear instructions to help developers.
Option 2: Create a brand new project in VS2015, then add new controllers with the same name as found in the old projects, then copy and paste controller implementations. Views and non-controller classes should work without much changes (only change I can think of is that new versions of dependencies in imports may be incompatible and will need to be dealt with manually, but this would be the same in Option 1). Not sure how to deal with entity framework. Perhaps if I recreate the entity model from database again, it should generate a compatible code. But then there are probably about 100 stored procedure function imports. I guess I will need to create function imports manually one by one (Question here, will the existing function imports remain intact if Option 1 is followed? Is there a way to copy function imports from the old project?).
Sorry, I know this is a rather convoluted question. Just trying to solicit inputs from others who may have done this in the past. I understand both Option 1 and 2 will require hours of work.
I have an old MSDOS software realized in magic 5.6 with an btrieve 5.10a database, that should be modernized(completely redone using a modern DB).
For this I would love to just get the table structures and some understanding in the structure of the magic program.
But unfortunately I was not able to find any documentation on magic nor was I able to get the structure with column names from the tables(.btr but no ddf files).
Any idea on how to get a step further?
Not enough rep to comment, so I'm forced to post this as an answer.
If you can't get hold of any info regarding the data structure you might try:
A. Download and install a try-out version of a more recent Pervasive version and see if that enables you to read the data. In (still more or less current) server versions like V11 there is a DDF Builder utility, which does what the name implies. However, this is no automatic process, but relies on your ability to link the data shown in the application to the hex values on disk.
B. Try to find a BUTIL.EXE version that works with 5.x Btrieve files, run BUTIL -RECOVER and see what that gets you. You might get to parse the data with scripting tools this way - I've done it in the past on 6.x files, but nothing as old as you are dealing with.
The main issue here is whether you'll be able to find compatible tools for a version that old. But then again, maybe 6.x tools might just work.
i've been really frustrated with Panda3d so far with the importation of models. Panda3d will only import a model once and will never update ever again (even after changing the name of the .egg file)
I first imported a model (let's call it version 1), into VS2010 panda3d. Then i revised the model in 3dsMax and exported it into egg again (version 2). However, no matter how many times i import, panda3d will stubbornly use version 1. Renaming the .egg doesn't help either. Im suspecting that panda3d caching system is caching my previous model and there's something important linking all the versions together, defaulting the panda3d engine to go back to version 1.
The main question is, how do i solve this problem of panda3d not taking in the latest model? Thank you.
I think you will get answers to your questions about Panda3D more quickly if you ask them over on the Panda3D forums.
But to answer your specific question, Panda does indeed incorporate a model cache, which by default reads a particular filename once (during a session) but does not read the disk again during the same session, even if the file changes (but you can explicitly ask it to read the disk again if you need this). Panda also has a persistent disk cache, which by default caches the loading of a model between sessions as well, though in this case it does always check the timestamp of the file before blindly returning the previous model, and if the file is updated, it will always re-read it and return the new version instead.
In neither case will it return a cached version if you completely rename the file, so something else must be going on in that case.
The precise way you disable caching depends on the particular calls you are using to load the model. You reference VS2010, so I infer that you are writing in C++ (but using VS2010 instead of VS2008 isn't officially supported, so you might have other problems as well unless you have far out of your way to use VS2010 correctly).
To avoid the cache for a particular model, try passing a LoaderOptions object with the LF_no_cache bits set in the flags to ModelPool::load_model() (or whichever interface you are using to load models).
I'm working on NopCommerce 2.60 and I have extended Affiliate Module in NopCommerce 2.6 by adding two new fields like "WebsiteURL" and "Picture Upload".
For that I have made changes in Affiliate Services, Affiliate Controller, Affiliate.cs, Affiliate Map, Affiliate Model files. Now If I want to integrate these changes in upcoming versions of NopCommerce.
So What is better way to make changes in NopCommerce code and easily integrate in upcoming versions of NopCommerce?
There is no any way in nopcommerce to upgrade custom functionality in higher version. instead of that i would suggest right you function independent to nop means write separate classes for all Affiliate functionality, copy it in next version as you see in nopcommerce2.65 they have change some service, properties name.
I have recently looked into this since our company wanted to make sure nopCommerce could be upgraded at later dates if needed. The best solution we found was to make our modifications into plugins so that we could refrain from modifying the core as much as possible. Like Shivkumar said, it's not really possible to make nopCommerce upgrade proof.
Hope this helps.
i want to port my application to CodeIgniter but i am wondering whether i should use their v2.0 or v1.72 (then when they release 2.0, upgrade it).
i have never used a framework before so i don't exactly know what implies when upgrading a framework: what does it mean practically - i just move the folders and it will work? or do i have to change a lot of settings, file structure etc? could someone enlighten me about the upgrade process.
and what would you use: v.1.72 or v2.0?
if i'm using the latest version, is there a good documentation for it somewhere so you can read about how to use the new features: packages, drivers and so on.
thanks
You can read about some of the changes in 2.0 here.
I would image the upgrade process should be straightforward as long as you do not use any features that are different/removed such as plugins. Just take your models, controllers, etc and drop them into the 2.0 framework. Then regression test you whole app, fixing any problems as you see them...
If you are selling this app or making something mission critical then of course v1.7.2 is the best choice. That said I have PyroCMS running on v2.0 and since some of my bug-fixes were merged it seems stable enough.
One should consider time frames for deployment:
If it is one week, then stick to v1.7.2
If it is three months, go with v2
Assuming three months is approximately to time for a release to stabilise?