I recently back up my local Postgresql database and imported(restored) into Heroku's SHARED_DATABASE.
heroku pgbackups:restore SHARED_DATABASE 'url_to_pg_dump'
Everything seems to work except the function, which is not being created during import. I verified the nonexistence via heroku console.
I wonder if this is a limitation of heroku's SHARED_DATABASE or I messed some setting during the process.
I would like to know from anyone who had experience with this.
Thanks in advance.
The current shared databases don't support user-defined functions, however, the new in-beta ones do - I have numerous triggers etc written in plpgsql running on there.
More info here: http://devcenter.heroku.com/articles/labs-heroku-shared-postgresql
The shared databases don't support user-defined functions:
In addition, the dedicated databases offer a number of advantages, including direct access (via psql or any native postgresql library), stored procedures, and PostgreSQL 9 support.
Emphasis mine. So they don't explicitly say that shared databases do not support stored procedures but they do note it as an extra feature of dedicated databases so the result is the same.
Thanks, Mu and Neil.
I worked with support, who pointed me to the new public beta. This looks to be next version of shared_db and I tried it and the import worked fine and postgresql function objects were restored in good order.
http://addons.heroku.com/heroku-shared-postgresql
Related
I'm trying to learn apollo and following the docs and this documentation using sqlite to show how to connect local database to server.
i didn't install sqlite3 but the .sqlite file is in given source.
Even though it was out of the lecture but i got curious how this works though i didn't install it.
i have searched to find why it works and what is difference between these but i couldn't find it so i reached here to ask question about what are the differences and what is better to use.
Thanks!
SQLite is a library extensively used in different programming languages like python, javascript, php etc. This library is made using C-language which implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. ".sqlite" is a database file which contains all the data stored. This file can be made by executing some code based on syntax of that particular language. For you to work on SQLite, you need to have installed it on your local machine.
For my application,i am using multiple databases.I want to run/upgrade schema for all those databases from one place(for management purpose).It is cumbersome process(specially in production/integration phase) to go to all databases and run/upgrade schema after every release or whenever some changes in schema.We thought of using simple docker for this purpose.
Anyone has idea whether is it good idea or not ?If possible please suggest how it can be done ?
I would like if any other suggestions are there.
As suggested by #markc, it is a matter of scripting only.Connect to all database and run schema on them.Used golang as language and built docker for that.
So my company installed PostgreSQL on my computer, which I use, rarely and without understanding, for one specific function.
I'm trying to follow Lynda etc. tutorials to understand (Postgres)SQL better, since that's what we use, but all the tutorials ask students to reconfigure certain aspects of their system in order to follow along with example files (which I would really like to do).
Since I've messed up my dev env once already, I'm hesitant to touch anything that will cause issues with the local versions of our project.
I know this is an extremely wide-angle question with no easy answer, but if anyone has any general advice for playing with sample databases in MAMP Pro (or anywhere else) using Postgres without interfering with the servers I'm currently running, it would be a huge help.
i would recommend you use Vagrant and set up a isolated postgresql instance. Here is a great wiki you can follow to do this.
UPDATE: Given your comment,An easy solution is to just backup your data and proceed trying out the the Postgres examples you can always restore your data after you are done..
I'm about to start on a new WPF application with a Sybase datastore. The team has experience with Nhibernate, but we are not really sure how well it supports Sybase and if there are some major pitfalls we should look out for.
If yes, how about Fluent nhibernate?
If not, do you know any other ORM products that we could use for Sybase in this scenario?
Thanks.
Sybase is officially supported in NHibernate.
From what I've seen, Fluent NH doesn't expose a class for configuring a Sybase DB, but you can probably do that in a just couple of lines (the rest of it is not dependent on the DB)
Are you asking about Sybase ASE or Sybase Anywhere. NHibernate supports both and FluentNHibernate supports neither.
I'd like to correct the statements made here, even though this is an older post. NHibernate does NOT exactly support Sybase.
As a reference for why I say this statment please look here:
http://community.jboss.org/wiki/DatabasessupportedbynHibernate
Granted that post is from 2009. NHibernate has since released version 3.0 which does have dialects available for Sybase:
http://nhforge.org/blogs/nhibernate/archive/2010/12/05/nhibernate-3-0-released.aspx
But the issue here is it is only for Sybase Anywhere, so if you have ASE you will have to refer to Glenn Paulley's independent releases for NHibernate, and I do not believe he is actually affiliated with NHibernate.
All this being said, I've tried for the past few hours to get what is out there working with Sybase ASE 15 and I've been unsuccessful. Looks like I'll just make my own with the .NET drivers provided.
According to this link, I would say that it does. There seems to have known issues, though. But depending on what you need, it might suit your needs.
The SQLAnywhere12Dialect seems to have repaired some of the buggy stuff.
To follow up on Joseph's answer:
I downloaded the binaries for NHibernate 3.2.0.GA about two weeks ago (about 10/5/2011) and it didn't seem to come with ASE 15 support out of the box (no dialect or drivers, closest one maybe being SQL Anywhere).
This issue was reported in their Jira.
Today (10/20/2011) I downloaded the source code for the project to try to add my own and I found out that there are classes now that offer this support, SybaseASE15Dialect.cs and SybaseASEDriver.
I'm not sure if the binaries now have this support, but if not you can just download the source files, build the NHibernate project and use the dlls, or just wait until they make a new release with this.
I've done a similar project using NHibernate, and using ODBC to connect to Sybase SQL Anywhere, it works fine with the "GenericDialect".
Here's some sample code to build your session factory.
var mapper = new ModelMapper();
mapper.AddMappings(Assembly.GetExecutingAssembly().GetExportedTypes());
HbmMapping mapping = mapper.CompileMappingForAllExplicitlyAddedEntities();
NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration()
.DataBaseIntegration(db =>
{
db.ConnectionString = connectionStr;
db.Dialect<NHibernate.Dialect.GenericDialect>();
db.Driver<NHibernate.Driver.OdbcDriver>();
});
cfg.AddMapping(mapping);
cfg.BuildSessionFactory();
Sorry if this is overly simplistic.
I've decided that I want to use an SQLite database instead of a MySQL database. I'm trying to wrap my head around how simple SQLite is and would like a simple, one answer tutorial on how to use SQLite with the Zend Framework, where to put my SQLite database in my directory structure, how to create the database, etc.
#tuinstoel is correct, attaching to an SQLite database implicitly creates it if it does not exist.
SQLite also supports a command-line client that is more or less like MySQL's command shell, allowing you to issue ad hoc commands or run SQL scripts. See documentation here: http://www.sqlite.org/sqlite.html
Of course you need to change the Zend_Db adapter in your ZF application. ZF supports only an adapter to the PDO SQLite extension. SQLite doesn't support user/password credentials. Also since SQLite is an embedded database instead of client/server, the "host" parameter is meaningless.
$db = Zend_Db::factory("pdo_sqlite", array("dbname"=>"/path/to/mydatabase.db"));
One more caveat: when you get query results in associative-array format, some versions of SQLite insist on using "tablename.columnname" as the keys in the array, whereas other brands of database return keys as simply "columnname". There's an outstanding bug in ZF about this, to try to compensate and make SQLite behave consistently with the other adapters, but the bug is unresolved.
If you make a connection to a not existing database, a database is created on the fly. (You can turn this behavour off)
This is now covered in the Zend Framework quickstart tutorial (version 1.9.5 as of this writing). Just make a new project (with zf command line tool. look here for a great tutorial on setting it up), add these lines to your config.ini file and you're good to go:
; application/configs/application.ini
[production]
resources.db.adapter = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/databaseName.db"
Now when you ask for your default database adapter, it will use this one. I would also recommend downloading the quickstart tutorial source code and making use of the load.sqlite.php script. You can create a schema and data file and load the database with these tables/columns/values. It's very helpful! Just check out the tutorial. It's all in there.
This answer was moved out of the question into a CW answer to disavow ownership over the content.