Ticket #255 (closed enhancement: fixed)

Opened 5 years ago

Last modified 4 years ago

Add Oracle support

Reported by: vasily.ivanov@… Owned by: vasily.ivanov@…
Priority: major Milestone: 0.7
Component: databaseapi Version: 0.6.1
Keywords: oracle database db Cc:


Now if DATABASE_ENGINE is oracle South fails with the following error:

There is no South database module for the engine 'oracle' (tried with south.db.oracle). Please either choose a supported one, or check for SOUTH_DATABASE_ADAPTER settings, or remove South from INSTALLED_APPS.

I'd be more than happy to add Oracle support if you tell me where to start.


oracle.py (8.0 KB) - added by ilya.roitburg@… 5 years ago.
implementation of migration for Oracle DB

Change History

comment:1 Changed 5 years ago by andrew

  • Owner changed from andrew to vasily.ivanov@…
  • Status changed from new to assigned

Please do! The basic steps are:

  • Make a new south.db.oracle module; it should contain a DatabaseOperations? class which inherits from the one in south.db.generic (see the various other backends' ones)
  • Start overriding settings and SQL strings so they are correct. The generic operations will probably work for many things, but rename column, changing indexes, etc., will probably need changing. Some settings can be altered directly on the class properties - for example, MySQL sets has_ddl_transactions = False (which makes South be extra-careful), and overrides some of the SQL template strings.

Pop on IRC (there's details on it in the support section) and chat to me there, I can guide you through any issues you might have.

comment:2 Changed 5 years ago by anonymous

is this still targeted for 0.7? what is the expected release date for 0.7?


comment:3 Changed 5 years ago by andrew

It's targeted for 0.7 since it's a feature I'd like to write, but at the moment I don't have access to an Oracle database nor has someone offered to help write it, so it's on hold until either of those comes true.

comment:4 Changed 5 years ago by anonymous

gotcha. I've never installed an oracle DB, thought it would be fairly easy but I suppose not.

is there any way to watch this ticket other than an RSS feed?

...i'm also looking at trying out South for my Django app..if I get it going successfully I'll let you know.

comment:5 Changed 5 years ago by andrew

Stick your name in the cc: field (don't worry, Trac will obscure the last part of your email address to the internet at large), and you'll get emails.

comment:6 Changed 5 years ago by codecraig@…

cool thanks

Changed 5 years ago by ilya.roitburg@…

implementation of migration for Oracle DB

comment:7 Changed 5 years ago by ilya.roitburg@…

Please, find attached module that I use for migration of two Django applications in my company (we use Oracle). Yet it works for ours application, I'm sure it does not prove code correctness and does not cover all test cases. Anyway, I thought you might find it useful.

Best Regards,

comment:8 Changed 5 years ago by andrew

Ah, excellent - I'll take a look over it later.

comment:9 Changed 5 years ago by vasily.ivanov@…

Ilya, you're the champ! Спасибо! :-)

comment:10 Changed 5 years ago by andrew

  • Status changed from assigned to closed
  • Resolution set to fixed

Module merged into trunk in [2e55249be457]. I'll try and get an Oracle install set up so I can maintain the code.

Note: See TracTickets for help on using tickets.