Seite 1 von 1

Elixir Primary Key ohne Autoincrement

Verfasst: Freitag 27. Juli 2012, 08:31
von sparrow
Hallo Forum,

ich würde gerne Elixir einsetzen um mit einer Postgresql-Datenbank zu sprechen. Das funktioniert auch an sich sehr gut, ich habe nur das Problem, dass für den Primärschlüssel immer eien Sequenz angelegt wird. Das möchte ich aber bei einigen Tabellen nicht.

Aus

Code: Alles auswählen

class Supplier(Entity):
    using_options(tablename="suppliers", auto_primarykey=False)
    nr = Field(Integer, primary_key=True)
Wird:

Code: Alles auswählen

CREATE TABLE suppliers (
        nr SERIAL NOT NULL,
        ...
        PRIMARY KEY (nr)
Für Primärschlüssel werden automatisch Indexe angelegt (das will ich!) das Schlüselwort "Serial" sorgt hingegen für das Anlegen einer Sequenz aus der die nächsten Werte geholt werden. Das will ich aber nicht.

Gruß
Sebastian

Re: Elixir Primary Key ohne Autoincrement

Verfasst: Freitag 27. Juli 2012, 08:34
von sparrow
Oh, ich habs selbst gefunden:

Code: Alles auswählen

class Supplier(Entity):
    using_options(tablename="suppliers", auto_primarykey=False)
    nr = Field(Integer, primary_key=True, autoincrement=False)
Allerdings durch ausprobieren, in der Doku habe ich nichts gefunden.

Re: Elixir Primary Key ohne Autoincrement

Verfasst: Freitag 27. Juli 2012, 12:04
von deets
Du meinst du hast das hier gelesen

http://elixir.ematia.de/apidocs/elixir.fields.html

und dabei die grossen, fetten Hinweise darauf, wie Elixir Optionen and die SA-Columns weiterleitet ueberlesen?

Davon abgesehen: so gerne ich selbst Elixir verwende, es ist leider ein sterbendes Produkt. Gaetan Maeten entwickelt es nicht mehr weiter, und seit SA declarative ist es denke ich besser, darauf zu setzen.

Re: Elixir Primary Key ohne Autoincrement

Verfasst: Freitag 27. Juli 2012, 12:32
von sparrow
deets hat geschrieben: und dabei die grossen, fetten Hinweise darauf, wie Elixir Optionen and die SA-Columns weiterleitet ueberlesen?
Verteilte Dokumentation. üäääh
deets hat geschrieben: Davon abgesehen: so gerne ich selbst Elixir verwende, es ist leider ein sterbendes Produkt. Gaetan Maeten entwickelt es nicht mehr weiter, und seit SA declarative ist es denke ich besser, darauf zu setzen.
Ach ich finde Elixir schön einfach. Schade, dass die letzte Version 3 Jahre alt ist, aber solange es noch funktioniert bin ich zufrieden.
Und da auch solche Sachen wie locking damit ziemlich gut funktionieren und man gut nachvollziehen kann welche SQL-Statements gebaut werden bleibe ich brav dabei.