I know first we want to modify and reupload our site. Can we create any software for updating databases instead of direct modification of the database?
I'm assuming you want a tool that will apply changes from one environment to another? In which case look into Redgate's SQL tools.
Yes, I just released a framework can help you to update your project. It's the first release of my project. You can find it in the following url.
http://mep.codeplex.com
Related
My team is doing web development (ASP.NET, WCF), and we are at a beginning stage where everyone needs to make DB changes and use own sample data.
We use a dedicated DB server, and we want each developer to develop against separate DB.
What we appear to need is ability to configure connection string on per-developer basis in source controlled way. Obviously, we might have other configuration settings that need custom setting and finally, we'll need to maintain a set of configuration settings that are common to all developers.
Can anyone suggest a best practice here?
PS Similar issue appears when we want to deploy a built application to different environments (test, stage, production) without having to manually tweak configurations (except perhaps configuring the environment name).
You can use config transforms for your deployment to different environments. That's easy enough. Scott Hanselman did a pretty awesome video on it here.
For your individual developer db problem, there isn't any particularly elegant solution I can think of. Letting each developer have a unique configuration isn't really a "best practice" to begin with. Once everyone starts integrating their code, you could have a very ugly situation on your hands if everyone wrote their code against a unique db and configuration set. It almost guarantees that code won't perform the same way for two developers.
Here is what I would recommend, and have done in the past.
Create a basic framework for your database, on one database on your test db server.
Create a Database Project as part of your solution.
Use .Net's built in Schema Compare to write your existing database to the database project.
When someone needs to change the database, first, they should get latest on the Database project, then make their changes, and then repeat step 4 to add their changes to the project.
Using this method, it is also very easy for developers to deploy a local instance of the database that matches the "main" database, make changes, and write those changes back to the project.
OK.
Maybe not so elegant solution, but we've chosen to read connection string from a different place when the project is built using Debug configuration.
We are using registry, and it has to be maintained manually.
It requires some extra coding, but the code to read the registry is only compiled in debug (#if debug), so there is no performance hit in production.
Hope this helps as well.
Cheers
v.
we have a team and want to make a site using drupal.
as i see all the changes will be saved in database. so how we can have a version control?
should we use of a cvs that take care of databases?
if yes, how can i make a db cvs server?
thanks.
Yes, use git. As far as the database goes, you're best off using update hooks to capture schema changes in code. If you're using cck you're not going to be able to do that reliably. It's a bummer really.
http://api.drupal.org/api/function/hook_update_N
to port views, content type, contexts you can use http://drupal.org/project/features
Devel http://drupal.org/project/devel have tool to make record macros
But realy there is no universal tool for this.
You should utilize Git for team development work for code.
As far as version controlling a database, you are not going to want to do that. It is a lot of headache.
You can move a lot of the stuff that normally goes in the database into the code instead. If you use the strongarm module along with the features module you can save settings, content types views and much more as code and put it into your VCS.
Does anybody know of an easy way to serialise Umbraco settings (Document Types, Media Types etc) to the file system in order to manage that data within source control?
Note: changes to settings made on the file system need to be easily integrated back into the CMS database.
Also, does anybody know of a way to package up settings from a development environment for rolling out to staging and live environments?
Looking back through my unanswered questions, providing updates where possible.
For reference, you can use uSync to serialise content from Umbraco:
https://our.umbraco.org/projects/developer-tools/usync
There is no method currently other than rolling your own package to do it but it should be relatively straight forward using the API. Check out the "Backing up Document Types" article as a starting point .
Your second point about deployment was something discussed in an open session at the Umbraco Codegarden this year and no conclusion was made that was a one answer fits all.
I'm using ASP.Net and NHibernate to build a website. Now, I need to add some sort of administration functionality, and came to think of an old django tutorial I once ran through. Here the admin page was build for me, and I could customize it as I liked.
I see no reason that I couldn't accomplish the same, somehow, in ASP.Net, when I got my NHibernate schemas, thus reducing all the boilerplate admin-code I need to do. Are there any libs out there, that you think will fill my needs somehow?
Thanks in advance :)
- cwap
CodeSmith is good. It allows you to generate ASP.NET admin pages based on your data classes.
A free alternative is mygeneration
I would like to find out if there is wiki software that runs on SQLite.
Sure is.
Instiki
Instiki (What Is Instiki) is a basic
Wiki clone so pretty and easy to set
up, you’ll wonder if it’s really a
wiki. Runs on Rails and focuses on
portability and stability. Supports
file uploads, PDF export, RSS,
multiple users and password
protection. Some use Instiki as a CMS
- Content Management System because of its ability to export static pages.
Fossil, which is a DVCS with many other features (including a wiki) is built on top of Sqlite (in face, made by D. Richard Hipp who wrote Sqlite ). It can be found at: http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki
According to the SQLite Users Page, the CVSTrac program is using SQLite as its internal database structure (you have to follow the link to the CVSTrac site to see the details). I'm sure there are others by hunting around the site.
Wiki::Toolkit can use SQLite as its database.
Mediawiki does, but it is only in the development stage.
Any of the Django ones should be able to, because Django is flexible about which Database backend it uses and SQLite is one of the options.