Elixir Primary Key ohne Autoincrement

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

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
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

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.
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.
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

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.
Antworten